YEAR() फ़ंक्शन का उपयोग
MySQL में किसी दिनांक/डेटाटाइम मान से केवल वर्ष (year) निकालने के लिए अंतर्निहित YEAR() फ़ंक्शन का उपयोग करें।
वर्तमान दिनांक से वर्ष निकालें
mysql> SELECT YEAR(CURDATE()) AS OnlyYearFromCurrentDate;
+-------------------------+
| OnlyYearFromCurrentDate |
+-------------------------+
| 2018 |
+-------------------------+
1 row in set (0.00 sec)
वैकल्पिक रूप से:
mysql> SELECT YEAR(DATE(NOW())) AS OnlyYearFromCurrentDate;
VARCHAR कॉलम से वर्ष निकालना
यदि दिनांक डेटा VARCHAR कॉलम में स्ट्रिंग के रूप में संग्रहीत है, तो पहले STR_TO_DATE() से उसे दिनांक में बदलें, फिर YEAR() लागू करें।
टेबल बनाएं और डेटा डालें
mysql> CREATE TABLE ExtractYearDemo (
-> YourDueTime VARCHAR(200)
-> );
Query OK, 0 rows affected (1.15 sec)
mysql> INSERT INTO ExtractYearDemo VALUES('27-10-2011');
mysql> INSERT INTO ExtractYearDemo VALUES('28-11-2012');
mysql> INSERT INTO ExtractYearDemo VALUES('29-12-2018');
mysql> INSERT INTO ExtractYearDemo VALUES('01-01-2019');
डेटा देखें
mysql> SELECT * FROM ExtractYearDemo;
+-------------+
| YourDueTime |
+-------------+
| 27-10-2011 |
| 28-11-2012 |
| 29-12-2018 |
| 01-01-2019 |
+-------------+
4 rows in set (0.00 sec)
वर्ष निकालने की क्वेरी
mysql> SELECT YEAR(STR_TO_DATE(YourDueTime, '%d-%m-%Y')) AS OnlyYearFromDate
-> FROM ExtractYearDemo;
+------------------+
| OnlyYearFromDate |
+------------------+
| 2011 |
| 2012 |
| 2018 |
| 2019 |
+------------------+
4 rows in set (0.00 sec)
सारांश
YEAR(date)- दिनांक/डेटाटाइम से वर्ष निकालता है- स्ट्रिंग कॉलम के लिए:
YEAR(STR_TO_DATE(string, format)) - फॉर्मेट पैटर्न स्ट्रिंग के वास्तविक पैटर्न से मेल खाना चाहिए