MySQL में किसी विशिष्ट तिथि के बाद या बराबर के रिकॉर्ड्स प्राप्त करने के लिए WHERE क्लॉज में तिथि तुलना ऑपरेटर्स (>=, >, BETWEEN) का उपयोग करें।
सिंटैक्स
SELECT * FROM table_name WHERE date_column >= 'YYYY-MM-DD';
व्यावहारिक उदाहरण
1. टेबल बनाएं और डेटा डालें
mysql> CREATE TABLE DemoTable708 (
CustomerName VARCHAR(100),
ShippingDate DATE
);
Query OK, 0 rows affected (0.51 sec)
mysql> INSERT INTO DemoTable708 VALUES
('John', '2019-01-21'),
('Chris', '2019-03-24'),
('Robert', '2019-04-26'),
('David', '2019-07-22');
Query OK, 4 rows affected (0.15 sec)
2. सभी रिकॉर्ड्स देखें
mysql> SELECT * FROM DemoTable708; +--------------+--------------+ | CustomerName | ShippingDate | +--------------+--------------+ | John | 2019-01-21 | | Chris | 2019-03-24 | | Robert | 2019-04-26 | | David | 2019-07-22 | +--------------+--------------+ 4 rows in set (0.00 sec)
3. 2019-04-01 के बाद के रिकॉर्ड्स प्राप्त करें
mysql> SELECT * FROM DemoTable708 WHERE ShippingDate >= '2019-04-01'; +--------------+--------------+ | CustomerName | ShippingDate | +--------------+--------------+ | Robert | 2019-04-26 | | David | 2019-07-22 | +--------------+--------------+ 2 rows in set (0.00 sec)
अन्य तिथि तुलना तरीके
सख्ती से बाद की तिथि (>)
SELECT * FROM DemoTable708 WHERE ShippingDate > '2019-04-01';
तिथि सीमा (BETWEEN)
SELECT * FROM DemoTable708 WHERE ShippingDate BETWEEN '2019-04-01' AND '2019-06-30';
सापेक्ष तिथि (वर्तमान तिथि से)
-- पिछले 30 दिन WHERE ShippingDate >= DATE_SUB(CURDATE(), INTERVAL 30 DAY) -- इस महीने WHERE MONTH(ShippingDate) = MONTH(CURDATE()) AND YEAR(ShippingDate) = YEAR(CURDATE())
प्रदर्शन टिप
इंडेक्स का उपयोग करें तिथि कॉलम पर:
CREATE INDEX idx_shipping_date ON DemoTable708(ShippingDate);
इससे तिथि-आधारित क्वेरीज़ बहुत तेज़ हो जाती हैं।