समस्या:
आप किसी दिए गए दिनांक से वर्ष और माह को MySQL डेटाबेस में प्राप्त करना चाहते हैं।
उदाहरण:
हमारे डेटाबेस में dates
कॉलम में डेटा के साथ id
और date
।
आईडी | <थ>तारीख|
---|---|
1 | 2008-04-21 |
2 | 1987-12-14 |
आइए year
को निकालें और month
तारीख से।
समाधान 1:
SELECT EXTRACT(YEAR FROM date) AS year, EXTRACT(MONTH FROM date) AS month FROM dates;
नतीजा यह है:
वर्ष | माह |
---|---|
2008 | 4 |
1987 | 12 |
चर्चा:
साल और महीने के कॉलम पाने के लिए, EXTRACT(part FROM date)
. का इस्तेमाल करें समारोह। इस समाधान में, भाग तर्क को YEAR
. से बदल दिया जाता है और MONTH
year
पाने के लिए और month
अलग से, प्रत्येक अपने स्वयं के कॉलम में।
आप EXTRACT()
. के बारे में अधिक जान सकते हैं आधिकारिक MySQL दस्तावेज़ में।
समाधान 2:
SELECT EXTRACT(YEAR_MONTH FROM date) AS year_and_month FROM dates;
नतीजा यह है:
वर्ष_और_माह |
---|
200804 |
198712 |
चर्चा:
यह समाधान बिल्कुल पिछले वाले की तरह काम करता है, लेकिन YEAR_MONTH
वर्ष और महीने को अलग-अलग प्राप्त करने के बजाय एक कॉलम में एक साथ प्राप्त करने के लिए उपयोग किया जाता है। ध्यान दें कि साल और महीने के मान एक दूसरे से अलग नहीं होते हैं।
समाधान 3:
SELECT YEAR(date) AS year, MONTH(date) AS month FROM dates;
नतीजा यह है:
वर्ष | माह |
---|---|
2008 | 4 |
1987 | 12 |
चर्चा:
इस बार, YEAR()
और MONTH()
फ़ंक्शन का उपयोग दो कॉलम बनाने के लिए किया जाता है। YEAR()
वर्ष देता है और MONTH()
महीने को एक संख्या के रूप में लौटाता है।
समाधान 4:
SELECT YEAR(date) AS year, MONTHNAME(date) AS month FROM dates;
नतीजा यह है:
वर्ष | माह |
---|---|
2008 | अप्रैल |
1987 | दिसंबर |
चर्चा:
महीने का नाम जानने के लिए MONTHNAME()
. का इस्तेमाल करें समारोह। परिणाम महीने की संख्या के बजाय महीने का नाम प्रदर्शित करता है।
समाधान 5:
SELECT DATE_FORMAT(date, '%Y-%m') AS year_and_month FROM dates;
नतीजा यह है:
वर्ष_और_माह |
---|
2008-04 |
1987-12 |
चर्चा:
DATE_FORMAT()
का उपयोग करें date
प्रदर्शित करने के लिए कार्य करें एक विशिष्ट प्रारूप में मान। इसमें date
का समय लगता है पहले तर्क के रूप में और दूसरे तर्क के रूप में वांछित दिनांक प्रारूप का वर्णन करने वाली एक स्ट्रिंग। हमारे मामले में, स्ट्रिंग '%Y-%m
', %Y
वर्ष लौटाता है, ' -
' विभाजक के रूप में प्रयोग किया जाता है, और %m
महीने को संख्यात्मक रूप से लौटाता है (इसे %M
. से बदला जा सकता है महीने का नाम पाने के लिए)।
आप DATE_FORMAT()
के बारे में अधिक जान सकते हैं आधिकारिक MySQL दस्तावेज़ में।