WHERE date_column < NOW() या CURDATE() का उपयोग करके वर्तमान दिनांक/समय से पहले की तिथि वाले रिकॉर्ड चुनें।
टेबल बनाएं
mysql> CREATE TABLE DemoTable1877 (DueDate DATETIME);
डेटा डालें
mysql> INSERT INTO DemoTable1877 VALUES('2019-12-10'), ('2019-12-05'), ('2019-12-07'), ('2019-12-09');
वर्तमान दिनांक
mysql> SELECT CURDATE(); -- 2019-12-08
वर्तमान दिनांक से पहले के रिकॉर्ड
mysql> SELECT * FROM DemoTable1877 WHERE DueDate < NOW();
आउटपुट:
+---------------------+ | DueDate | +---------------------+ | 2019-12-05 00:00:00 | | 2019-12-07 00:00:00 | +---------------------+
NOW() vs CURDATE()
| फ़ंक्शन | लौटाता है | उपयोग |
|---|---|---|
NOW() | DATETIME (दिनांक+समय) | सटीक क्षण तुलना |
CURDATE() | DATE (केवल दिनांक) | दिनांक-केवल तुलना |
CURRENT_TIMESTAMP | NOW() समान | मानक SQL |
सुझाव
- केवल दिनांक कॉलम है तो
CURDATE()उपयोग करें:WHERE DueDate < CURDATE()। NOW()में समय भाग होता है; '2019-12-08 00:00:00' < NOW() सत्य है यदि अब दोपहर है।- समय क्षेत्र:
TIMESTAMPकॉलम UTC में संग्रहीत, कनेक्शन टाइमज़ोन में प्रदर्शित।
सापेक्ष दिनांक
WHERE DueDate < CURDATE() - INTERVAL 7 DAY -- 7 दिन पहले WHERE DueDate >= CURDATE() - INTERVAL 1 MONTH -- पिछले महीने से अब तक