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

MySQL में वर्तमान तिथि से 12 दिन पहले घोषित परिणाम वाले छात्रों के रिकॉर्ड प्राप्त करें

परिचय

MySQL में DATEDIFF() फंक्शन का उपयोग करके दो तिथियों के बीच का अंतर निकाला जा सकता है। इसे AND ऑपरेटर के साथ जोड़कर विशिष्ट समय सीमा में परिणाम घोषित होने वाले छात्रों को फ़िल्टर किया जा सकता है।

उदाहरण: टेबल बनाना और डेटा डालना

mysql> CREATE TABLE DemoTable1547 (
    -> StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> StudentName VARCHAR(20),
    -> StudentMarks INT,
    -> StudentResultDeclareDate DATETIME
    -> );
Query OK, 0 rows affected (0.55 sec)
mysql> INSERT INTO DemoTable1547(StudentName, StudentMarks, StudentResultDeclareDate) VALUES('Chris', 56, '2019-10-13 13:00:00');
Query OK, 1 row affected (0.16 sec)
mysql> INSERT INTO DemoTable1547(StudentName, StudentMarks, StudentResultDeclareDate) VALUES('Bob', 60, '2019-10-13 12:00:00');
Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO DemoTable1547(StudentName, StudentMarks, StudentResultDeclareDate) VALUES('Mike', 45, '2019-10-13 14:00:00');
Query OK, 1 row affected (0.10 sec)
mysql> INSERT INTO DemoTable1547(StudentName, StudentMarks, StudentResultDeclareDate) VALUES('Carol', 78, '2019-10-01 14:00:00');
Query OK, 1 row affected (0.11 sec)

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

mysql> SELECT * FROM DemoTable1547;

आउटपुट:

+-----------+-------------+--------------+--------------------------+
| StudentId | StudentName | StudentMarks | StudentResultDeclareDate |
+-----------+-------------+--------------+--------------------------+
| 1         | Chris       | 56           | 2019-10-13 13:00:00      |
| 2         | Bob         | 60           | 2019-10-13 12:00:00      |
| 3         | Mike        | 45           | 2019-10-13 14:00:00      |
| 4         | Carol       | 78           | 2019-10-01 14:00:00      |
+-----------+-------------+--------------+--------------------------+
4 rows in set (0.00 sec)

वर्तमान तिथि

mysql> SELECT CURDATE();
+------------+
| CURDATE()  |
+------------+
| 2019-10-13 |
+------------+
1 row in set (0.00 sec)

12 दिन पहले घोषित परिणाम और 50+ अंक वाले छात्रों की क्वेरी

mysql> SELECT * FROM DemoTable1547
    -> WHERE DATEDIFF(CURDATE(), StudentResultDeclareDate) >= 12
    ->   AND StudentMarks > 50;

परिणाम

+-----------+-------------+--------------+--------------------------+
| StudentId | StudentName | StudentMarks | StudentResultDeclareDate |
+-----------+-------------+--------------+--------------------------+
| 4         | Carol       | 78           | 2019-10-01 14:00:00      |
+-----------+-------------+--------------+--------------------------+
1 row in set (0.00 sec)

व्याख्या

  • DATEDIFF(CURDATE(), StudentResultDeclareDate) - वर्तमान तिथि और परिणाम तिथि के बीच दिनों का अंतर
  • >= 12 - 12 या अधिक दिन पहले
  • StudentMarks > 50 - अतिरिक्त शर्त: 50 से अधिक अंक
  • Carol का परिणाम 2019-10-01 को घोषित हुआ (12 दिन पहले), और उसके 78 अंक हैं
  • Chris, Bob, Mike के परिणाम आज (2019-10-13) घोषित हुए, इसलिए अंतर 0 दिन

संबंधित फंक्शन्स

  • DATEDIFF(date1, date2) - date1 - date2 (दिनों में)
  • TIMESTAMPDIFF(DAY, date1, date2) - अधिक सटीक, इकाई निर्दिष्ट कर सकते हैं
  • DATE_SUB(CURDATE(), INTERVAL 12 DAY) - 12 दिन पहले की तिथि प्राप्त करने के लिए

तिथि अंकगणित MySQL में समय-आधारित फ़िल्टरिंग के लिए मौलिक है।

  1. - MySQL में DATE_SUB और INTERVAL से 15 दिन पुराने रिकॉर्ड प्राप्त करें

    वर्तमान दिनांक से निश्चित अंतराल (जैसे 15 दिन) पहले की तारीख वाले रिकॉर्ड प्राप्त करने के लिए DATE_SUB() और INTERVAL का उपयोग करें। टेबल बनाएं mysql> CREATE TABLE DemoTable1845 ( ArrivalDate DATE ); डेटा डालें mysql> INSERT INTO DemoTable1845 VALUES(2019-12-02); mysql> INSERT INTO Dem

  1. - MySQL में वर्तमान तारीख और अगले दिन के रिकॉर्ड कैसे चुनें?

    MySQL में शिपिंग/डिलीवरी तारीख के आधार पर आज और कल के रिकॉर्ड चुनने के लिए, CURDATE() फंक्शन के साथ IN ऑपरेटर या रेंज तुलना का उपयोग करें। यह डैशबोर्ड, नोटिफिकेशन, और शेड्यूलिंग क्वेरीज़ के लिए सामान्य आवश्यकता है। उदाहरण: आज और कल की शिपिंग वाले ग्राहक वर्तमान तारीख जांचें: mysql> SELECT CURD

  1. - MySQL में DATE_ADD से वर्तमान तारीख में 11 दिन जोड़ें

    WHERE CURDATE() और DATE_ADD से आज की तारीख में अंतराल जोड़ें आज की तारीख वाली पंक्तियों के लिए 11 दिन आगे की तारीख गणना करने के लिए DATE_ADD के साथ WHERE CURDATE() का उपयोग करें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1994 ( ArrivalDate date ); Query OK, 0 rows affected (5.33 sec)