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