SQL सर्वर में, T-SQL DATENAME() फ़ंक्शन एक वर्ण स्ट्रिंग देता है जो निर्दिष्ट डेटपार्ट . का प्रतिनिधित्व करता है निर्दिष्ट तारीख . के . उदाहरण के लिए, आप 2021-01-07 . में पास कर सकते हैं और SQL सर्वर को केवल महीने का हिस्सा लौटाएं (January )।
DATENAME() . के लिए वापसी प्रकार नवरचर . है ।
नीचे दिए गए उदाहरण।
सिंटैक्स
DATENAME() वाक्य रचना इस प्रकार है:
DATENAME ( datepart , date )
जहां datepart date . का हिस्सा है (एक तिथि या समय मान) जिसके लिए एक वर्ण स्ट्रिंग वापस की जाएगी।
उदाहरण 1
यहां एक बुनियादी उदाहरण दिया गया है जहां मैं किसी तारीख से महीने का घटक लौटाता हूं।
SELECT DATENAME(month, '2021-01-07') AS Result;
परिणाम:
+----------+ | Result | |----------| | January | +----------+
उदाहरण 2
इस उदाहरण में मैं एक चर के लिए एक तिथि निर्दिष्ट करता हूं, फिर मैं DATEPART() . के कई उदाहरणों का उपयोग करता हूं उस तिथि के विभिन्न भागों को पुनः प्राप्त करने के लिए।
DECLARE @date datetime2 = '2018-06-02 08:24:14.3112042';
SELECT
DATENAME(year, @date) AS Year,
DATENAME(quarter, @date) AS Quarter,
DATENAME(month, @date) AS Month,
DATENAME(dayofyear, @date) AS 'Day of Year',
DATENAME(day, @date) AS Day,
DATENAME(week, @date) AS Week,
DATENAME(weekday, @date) AS Weekday; परिणाम:
+--------+-----------+---------+---------------+-------+--------+-----------+ | Year | Quarter | Month | Day of Year | Day | Week | Weekday | |--------+-----------+---------+---------------+-------+--------+-----------| | 2018 | 2 | June | 153 | 2 | 22 | Saturday | +--------+-----------+---------+---------------+-------+--------+-----------+
उदाहरण 3
आप दिनांक से विभिन्न समय भागों को भी पुनः प्राप्त कर सकते हैं।
DECLARE @date datetime2 = '2018-06-02 08:24:14.3112042';
SELECT
DATENAME(hour, @date) AS Hour,
DATENAME(minute, @date) AS Minute,
DATENAME(second, @date) AS Second,
DATENAME(millisecond, @date) AS Millsecond,
DATENAME(microsecond, @date) AS Microsecond,
DATENAME(nanosecond, @date) AS Nanosecond; परिणाम:
+--------+----------+----------+--------------+---------------+--------------+ | Hour | Minute | Second | Millsecond | Microsecond | Nanosecond | |--------+----------+----------+--------------+---------------+--------------| | 8 | 24 | 14 | 311 | 311204 | 311204200 | +--------+----------+----------+--------------+---------------+--------------+
उदाहरण 4
आप TZoffset . भी प्राप्त कर सकते हैं और ISO_WEEK डेटपार्ट।
TZoffset मिनटों की संख्या (हस्ताक्षरित) के रूप में लौटा दी जाती है। ISO_WEEK डेटपार्ट आईएसओ वीक-डेट सिस्टम (आईएसओ 8601 मानक का हिस्सा) को संदर्भित करता है जो हफ्तों के लिए एक नंबरिंग सिस्टम है।
DECLARE @date datetimeoffset = '2018-06-02 08:24:14.3112042 +08:00';
SELECT
DATENAME(TZoffset, @date) AS 'Time Zone Offset',
DATENAME(ISO_WEEK, @date) AS 'ISO_WEEK'; परिणाम:
+--------------------+------------+ | Time Zone Offset | ISO_WEEK | |--------------------+------------| | +08:00 | 22 | +--------------------+------------+
इस उदाहरण में, मैंने दिनांक को datetimeoffset . पर सेट किया है प्रारूप, जिसमें टाइमज़ोन ऑफ़सेट शामिल है। TZoffset मिनटों में लौटा दिया जाता है।
DATENAME() . के परिणाम अक्सर DATEPART() . के परिणामों से मिलता जुलता होगा (अधिकांश दिनांक भाग संख्यात्मक होने के कारण)। हालांकि, DATEPART() एक वर्ण स्ट्रिंग के विपरीत एक पूर्णांक देता है। इसलिए DATEPART() महीनों (और कार्यदिवस घटक) को संख्यात्मक रूप में लौटाएगा (उदा. 1 January . के बजाय )।
छोटे महीने का नाम प्राप्त करना
यदि आपको महीने के नाम की आवश्यकता है, लेकिन इसके संक्षिप्त, 3 अक्षर के संक्षिप्त रूप में (उदाहरण के लिए, January January . के बजाय ), मेरे लेख को देखें SQL सर्वर में एक तिथि से छोटा महीना नाम प्राप्त करने के 5 तरीके।