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

MySQL में आज की तारीख के रिकॉर्ड कैसे चुनें?


MySQL में CURDATE() फंक्शन से आज की तारीख प्राप्त करें और DATE() फंक्शन से डेटाइम कॉलम की तुलना करें।

सिंटैक्स

SELECT yourColumnName1, yourColumnName2, ..., DATE_FORMAT(yourDateColumn, '%Y-%m-%d')
FROM yourTableName 
WHERE DATE(yourDateColumn) = CURDATE();

उदाहरण

टेबल बनाना

mysql> create table GmailSignIn (
-> UserId int,
-> UserName varchar(200),
-> DateOfSignIn datetime
-> ); Query OK, 0 rows affected (1.56 sec)

रिकॉर्ड डालना (मान लें आज 2018-12-06 है)

mysql> insert into GmailSignIn values(222111,'John',now());
mysql> insert into GmailSignIn values(333222,'Johnson',curdate());
mysql> insert into GmailSignIn values(444333,'Carol',date_add(curdate(),interval 1 day));
mysql> insert into GmailSignIn values(555444,'David',date_add(curdate(),interval -1 day));

सभी रिकॉर्ड देखना

mysql> select *from GmailSignIn;
+--------+----------+---------------------+
| UserId | UserName | DateOfSignIn        |
+--------+----------+---------------------+
| 222111 | John     | 2018-12-06 19:13:30 |
| 333222 | Johnson  | 2018-12-06 00:00:00 |
| 444333 | Carol    | 2018-12-07 00:00:00 |
| 555444 | David    | 2018-12-05 00:00:00 |
+--------+----------+---------------------+

आज (2018-12-06) के रिकॉर्ड प्राप्त करना

mysql> select UserId, UserName, DateOfSignIn, DATE_FORMAT(DateOfSignIn, '%Y-%m-%d') 
-> from GmailSignIn where date(DateOfSignIn) = curdate();
+--------+----------+---------------------+---------------------------------------+
| UserId | UserName | DateOfSignIn        | DATE_FORMAT(DateOfSignIn, '%Y-%m-%d') |
+--------+----------+---------------------+---------------------------------------+
| 222111 | John     | 2018-12-06 19:13:30 | 2018-12-06                            |
| 333222 | Johnson  | 2018-12-06 00:00:00 | 2018-12-06                            |
+--------+----------+---------------------+---------------------------------------+

महत्वपूर्ण फंक्शन

फंक्शनविवरण
CURDATE()वर्तमान तारीख लौटाता है (समय नहीं)
NOW()वर्तमान तारीख और समय लौटाता है
DATE()डेटाइम से केवल तारीख भाग निकालता है
DATE_FORMAT()तारीख को विशिष्ट फॉर्मेट में प्रदर्शित करता है

प्रदर्शन के लिए बेहतर क्वेरी (इंडेक्स उपयोग)

SELECT * FROM GmailSignIn 
WHERE DateOfSignIn >= CURDATE() 
AND DateOfSignIn < DATE_ADD(CURDATE(), INTERVAL 1 DAY);

यह क्वेरी DateOfSignIn कॉलम पर इंडेक्स का उपयोग कर सकती है, जबकि DATE() फंक्शन इंडेक्स उपयोग को रोकता है।


  1. - MySQL तालिका में प्रत्येक मान के लिए अधिकतम (MAX) कैसे चुनें?

    MySQL में GROUP BY और MAX() का उपयोग करके प्रत्येक समूह (जैसे देश) के लिए अधिकतम मान (जैसे जनसंख्या) प्राप्त किया जा सकता है। उदाहरण देश जनसंख्या तालिका: mysql> CREATE TABLE DemoTable (CountryName VARCHAR(20), Population INT); mysql> INSERT INTO DemoTable VALUES (US, 560), (UK, 10090), (UK, 8

  1. - MySQL में DAYNAME() से तारीख का दिन नाम कैसे प्राप्त करें?

    MySQL में किसी DATE/DATETIME कॉलम से सप्ताह के दिन का नाम (जैसे Monday, Tuesday) प्राप्त करने के लिए DAYNAME() फंक्शन का उपयोग करें। यह रिपोर्टिंग, शेड्यूलिंग, और दिन-आधारित विश्लेषण के लिए उपयोगी है। उदाहरण: ShippingDate से दिन नाम डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1954 (ShippingD

  1. - MySQL में DATE टाइमस्टैम्प से महीना संख्या निकालें

    DATE_FORMAT() से महीना संख्या (01-12) प्राप्त करें टाइमस्टैम्प कॉलम से केवल महीना संख्या निकालने के लिए DATE_FORMAT() के साथ %m फॉर्मेट का उपयोग करें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1999 ( ArrivalDate timestamp ); Query OK, 0 rows affected (0.66 sec) mysql> insert into