Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में CURDATE() और NOW() में अंतर

मुख्य अंतर

फ़ंक्शनलौटाता हैफॉर्मेटउदाहरण
NOW()वर्तमान दिनांक और समयYYYY-MM-DD HH:MM:SS2018-11-27 15:17:01
CURDATE()केवल वर्तमान दिनांकYYYY-MM-DD2018-11-27
CURRENT_TIMESTAMP()NOW() का पर्यायYYYY-MM-DD HH:MM:SS2018-11-27 15:17:01

व्यावहारिक प्रदर्शन

NOW()

mysql> SELECT NOW();
+---------------------+
| now()               |
+---------------------+
| 2018-11-27 15:17:01 |
+---------------------+
1 row in set (0.00 sec)

CURDATE()

mysql> SELECT CURDATE();
+------------+
| curdate()  |
+------------+
| 2018-11-27 |
+------------+
1 row in set (0.00 sec)

टेबल में उपयोग का उदाहरण

mysql> CREATE TABLE CurrentdateAndNowDemo (
    -> Time DATETIME
    -> );
Query OK, 0 rows affected (0.82 sec)

mysql> INSERT INTO CurrentdateAndNowDemo VALUES(NOW());
mysql> INSERT INTO CurrentdateAndNowDemo VALUES(CURDATE());

mysql> SELECT * FROM CurrentdateAndNowDemo;
+---------------------+
| Time                |
+---------------------+
| 2018-11-27 15:16:32 |  -- NOW(): पूरा टाइमस्टैम्प
| 2018-11-27 00:00:00 |  -- CURDATE(): समय भाग 00:00:00
+---------------------+
2 rows in set (0.00 sec)

कब कौन सा उपयोग करें?

  • NOW() / CURRENT_TIMESTAMP(): जब पूर्ण टाइमस्टैम्प चाहिए (लॉगिंग, ऑडिट, सटीक समय रिकॉर्डिंग)
  • CURDATE(): जब केवल दिनांक चाहिए (जन्मदिन, सालगिरह, दिन-आधारित रिपोर्ट)
  • CURTIME(): केवल समय चाहिए (HH:MM:SS)

प्रदर्शन नोट

एक ही क्वेरी में एकाधिक बार NOW() कॉल करने पर समान मान लौटाता है (क्वेरी निष्पादन प्रारंभ समय)। SYSDATE() वास्तविक निष्पादन समय देता है।

  1. MySQL के NOW() और CURDATE() को UTC कैसे बनाएं? MySQL के NOW() और CURDATE() को UTC कैसे बनाएं?

    MySQL के NOW() और CURDATE() को UTC समयक्षेत्र में काम करने के लिए कॉन्फ़िगरेशन फ़ाइल में सेटिंग बदलनी होती है। विधि 1: my.cnf / my.ini में स्थायी सेटिंग कॉन्फ़िगरेशन फ़ाइल में [mysqld] सेक्शन के अंतर्गत जोड़ें: [mysqld] default-time-zone = +00:00 या [mysqld_safe] के अंतर्गत: [mysqld_safe] timezone

  1. - MySQL में CURDATE() (वर्तमान दिनांक) का फॉर्मेट बदलें

    वर्तमान दिनांक का डिफ़ॉल्ट फॉर्मेट YYYY-MM-DD होता है। वर्तमान दिनांक का फॉर्मेट बदलने के लिए DATE_FORMAT() का उपयोग करें। वर्तमान दिनांक प्रदर्शित करें mysql> select curdate(); यह निम्नलिखित आउटपुट देगा: +------------+ | curdate() | +------------+ | 2019-08-08 | +------------+ 1 row in set

  1. - MySQL में CURDATE के साथ CONTAINS() का उपयोग कैसे करें? (CONCAT + LIKE का उपयोग करें)

    MySQL में CONTAINS() नहीं है - CONCAT() और LIKE का उपयोग करें MySQL में CONTAINS() फ़ंक्शन नहीं है (यह SQL Server/Full-text खोज में मौजूद है)। स्ट्रिंग में उपस्ट्रिंग खोजने के लिए, LIKE ऑपरेटर के साथ CONCAT() का उपयोग करके डायनामिक पैटर्न बनाएं। वर्तमान तिथि जांचना SELECT CURDATE(); +------------+