NOW() को डिफ़ॉल्ट मान के साथ उपयोग करके करंट डेट और टाइम ऑटो-फिल कर सकते हैं। बाद में DATE() फ़ंक्शन से डेट भाग निकाल सकते हैं।
केस 1: डिफ़ॉल्ट डेट वैल्यू
yourDateColumnName DATE DEFAULT 'yourDateValue';
केस 2: करंट डेटटाइम डिफ़ॉल्ट
yourDateColumnName DATETIME DEFAULT NOW();
उदाहरण के साथ समझें
सबसे पहले एक टेबल बनाते हैं:
mysql> CREATE TABLE DefaultCurrentdateDemo (
-> LoginDate DATETIME DEFAULT NOW()
-> );
Query OK, 0 rows affected (0.59 sec)
रिकॉर्ड डालें (कुछ में डेट न दें)
mysql> INSERT INTO DefaultCurrentdateDemo VALUES();
Query OK, 1 row affected (0.18 sec)
mysql> INSERT INTO DefaultCurrentdateDemo VALUES('2017-11-19');
Query OK, 1 row affected (0.16 sec)
mysql> INSERT INTO DefaultCurrentdateDemo VALUES('2018-10-21');
Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO DefaultCurrentdateDemo VALUES();
Query OK, 1 row affected (0.23 sec)
mysql> INSERT INTO DefaultCurrentdateDemo VALUES('2020-12-24');
Query OK, 1 row affected (0.12 sec)
सभी रिकॉर्ड देखें
mysql> SELECT * FROM DefaultCurrentdateDemo;
आउटपुट
+---------------------+ | LoginDate | +---------------------+ | 2019-01-12 20:33:51 | | 2017-11-19 00:00:00 | | 2018-10-21 00:00:00 | | 2019-01-12 20:34:37 | | 2020-12-24 00:00:00 | +---------------------+ 5 rows in set (0.00 sec)
जहां मान नहीं दिया गया, वहां NOW() से करंट डेटटाइम ऑटोमेटिकली भर गया।
केवल डेट भाग निकालें
mysql> SELECT DATE(LoginDate) AS OnlyDate FROM DefaultCurrentdateDemo;
आउटपुट
+------------+ | OnlyDate | +------------+ | 2019-01-12 | | 2017-11-19 | | 2018-10-21 | | 2019-01-12 | | 2020-12-24 | +------------+ 5 rows in set (0.00 sec)
फिक्स्ड डिफ़ॉल्ट डेट के साथ टेबल
mysql> CREATE TABLE DefaultDate (
-> LoginDate DATE DEFAULT '2019-01-12'
-> );
Query OK, 0 rows affected (0.53 sec)
mysql> INSERT INTO DefaultDate VALUES();
Query OK, 1 row affected (0.13 sec)
mysql> SELECT * FROM DefaultDate;
आउटपुट
+------------+ | LoginDate | +------------+ | 2019-01-12 | +------------+ 1 row in set (0.00 sec)
मान न देने पर डिफ़ॉल्ट डेट '2019-01-12' अपने आप भर गया।