MySQL में क्वेरीज़ चलाते समय, आप DAYOFYEAR() . का उपयोग कर सकते हैं दिनांक से वर्ष के दिन को वापस करने के लिए कार्य करें।
यह फ़ंक्शन एक तर्क को स्वीकार करता है, और यह 1 . के बीच एक मान देता है और 366 , वर्ष के किस दिन के आधार पर तर्क का दिन भाग दर्शाता है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
DAYOFYEAR(date)
जहां date वह दिनांक मान है जिससे आप चाहते हैं कि वर्ष का वह दिन लौटाया जाए, जिससे आप वापस लौटना चाहते हैं।
उदाहरण
प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।
SELECT
DAYOFYEAR('2019-01-01') AS 'Date 1',
DAYOFYEAR('2019-12-31') AS 'Date 2';
परिणाम:
+--------+--------+ | Date 1 | Date 2 | +--------+--------+ | 1 | 365 | +--------+--------+
इस उदाहरण में, उचित प्रभाव प्रदर्शित करने के लिए, मैं इस फ़ंक्शन को दो अलग-अलग तिथियों पर दो बार चलाता हूं - एक वर्ष की शुरुआत में, और दूसरा वर्ष के अंत में।
DAYOFYEAR() बनाम DAYOFMONTH()
DAYOFYEAR() . के बीच अंतर को प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है और DAYOFMONTH() कार्य।
SET @date = '2019-10-03';
SELECT
@date,
DAYOFMONTH(@date) AS 'Day of Month',
DAYOFYEAR(@date) AS 'Day of Year';
परिणाम:
+------------+--------------+-------------+ | @date | Day of Month | Day of Year | +------------+--------------+-------------+ | 2019-10-03 | 3 | 276 | +------------+--------------+-------------+
DAYOFMONTH() फ़ंक्शन 1 . के बीच एक मान देता है और 31 (या 0 तारीखों के लिए शून्य दिन वाला हिस्सा) जो महीने के दिन का प्रतिनिधित्व करता है। यह 1 . पर वापस रीसेट हो जाता है हर महीने की शुरुआत में।
DAYOFYEAR() दूसरी ओर फ़ंक्शन, 1 . के बीच मान देता है और 366 . यह 1 . पर वापस रीसेट हो जाता है प्रत्येक वर्ष की शुरुआत में।
एक डेटाबेस उदाहरण
यहां DAYOFYEAR() using का उपयोग करने का एक उदाहरण दिया गया है डेटाबेस को क्वेरी करते समय:
USE sakila; SELECT payment_date AS 'Date/Time', DAYOFYEAR(payment_date) AS 'Day of Year' FROM payment WHERE payment_id = 1;
परिणाम:
+---------------------+-------------+ | Date/Time | Day of Year | +---------------------+-------------+ | 2005-05-25 11:30:37 | 145 | +---------------------+-------------+
वर्तमान दिनांक/समय
यहां वर्तमान दिनांक और समय से दिन के भाग को निकालने का एक उदाहरण दिया गया है (जो NOW() का उपयोग करके लौटाया जाता है। समारोह)।
SELECT
NOW(),
DAYOFYEAR(NOW());
परिणाम:
+---------------------+------------------+ | NOW() | DAYOFYEAR(NOW()) | +---------------------+------------------+ | 2018-06-26 08:23:04 | 177 | +---------------------+------------------+
ऐसा करने का दूसरा तरीका CURDATE() . का उपयोग करना है फ़ंक्शन, जो केवल दिनांक (लेकिन समय नहीं) देता है।
SELECT
CURDATE(),
DAYOFYEAR(CURDATE());
परिणाम:
+------------+----------------------+ | CURDATE() | DAYOFYEAR(CURDATE()) | +------------+----------------------+ | 2018-06-26 | 177 | +------------+----------------------+