MySQL में YEAR() फ़ंक्शन का उपयोग करके DATETIME/DATE कॉलम से वर्ष निकालें और विशिष्ट वर्ष के रिकॉर्ड फ़िल्टर करें।
सिंटैक्स
SELECT * FROM yourTableName WHERE YEAR(yourColumnName) = yourYearValue;
उदाहरण: टेबल बनाना और डेटा डालना
mysql> CREATE TABLE DemoTable (
-> CustomerName VARCHAR(100),
-> ShippingDate DATETIME
-> );
Query OK, 0 rows affected (0.64 sec)
mysql> INSERT INTO DemoTable VALUES
-> ('Chris', '2019-01-21'),
-> ('Robert', '2018-02-21'),
-> ('David', '2016-04-01');
सभी रिकॉर्ड देखना
mysql> SELECT * FROM DemoTable;
आउटपुट
+--------------+---------------------+ | CustomerName | ShippingDate | +--------------+---------------------+ | Chris | 2019-01-21 00:00:00 | | Robert | 2018-02-21 00:00:00 | | David | 2016-04-01 00:00:00 | +--------------+---------------------+ 3 rows in set (0.00 sec)
वर्ष 2016 के रिकॉर्ड प्राप्त करना
mysql> SELECT * FROM DemoTable WHERE YEAR(ShippingDate) = 2016;
आउटपुट
+--------------+---------------------+ | CustomerName | ShippingDate | +--------------+---------------------+ | David | 2016-04-01 00:00:00 | +--------------+---------------------+ 1 row in set (0.04 sec)
संबंधित फ़ंक्शन:
MONTH(date)- महीना (1-12)DAY(date)- दिन (1-31)QUARTER(date)- तिमाही (1-4)WEEK(date)- सप्ताह संख्याDAYOFWEEK(date)- सप्ताह का दिन (1=रविवार)
प्रदर्शन चेतावनी: YEAR(col) = 2016 इंडेक्स उपयोग को रोकता है।
इंडेक्स-अनुकूल विकल्प (रेंज क्वेरी):
WHERE ShippingDate >= '2016-01-01' AND ShippingDate < '2017-01-01'
यह ShippingDate पर इंडेक्स का उपयोग करने की अनुमति देता है।
वर्ष रेंज के लिए:
WHERE YEAR(ShippingDate) BETWEEN 2015 AND 2018