माइक्रोसॉफ्ट ने पेश किया CURRENT_TIMEZONE()
सर्वर के समय क्षेत्र को वापस करने के लिए SQL सर्वर 2019 में कार्य करें।
अधिक विशेष रूप से, यह फ़ंक्शन "सर्वर या इंस्टेंस द्वारा देखे गए समय क्षेत्र का नाम देता है"।
उदाहरण
प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।
SELECT CURRENT_TIMEZONE();
परिणाम:
(UTC) Coordinated Universal Time
इस मामले में, SQL सर्वर के मेरे उदाहरण का समय क्षेत्र UTC है।
मैं इसे तब देख सकता हूं जब मैं SYSDATETIMEOFFSET()
जैसे फ़ंक्शन चलाता हूं ।
SELECT SYSDATETIMEOFFSET();
परिणाम:
2020-04-01 00:14:44.0470785 +00:00
UTC का टाइम ज़ोन ऑफ़सेट +00:00 (कोई ऑफ़सेट नहीं) है, और यह तब दिखाई देता है जब मैं सिस्टम की तारीख और समय लौटाता हूँ।
SQL सर्वर के पुराने संस्करण
अगर मैं CURRENT_TIMEZONE()
चलाता हूं मेरे SQL सर्वर 2017 इंस्टेंस के विरुद्ध, यहाँ मुझे क्या मिलता है।
SELECT CURRENT_TIMEZONE();
परिणाम:
Msg 195, Level 15, State 10, Line 1 'CURRENT_TIMEZONE' is not a recognized built-in function name.
मैंने इसे जांचने के लिए लिनक्स के लिए SQL सर्वर 2017 के साथ नवीनतम डॉकर कंटेनर भी डाउनलोड किया, लेकिन मुझे अभी भी यह त्रुटि मिलती है।
मैंने अन्य SQL सर्वर 2017 इंस्टॉलेशन की भी जाँच की है लेकिन उसी परिणाम के साथ।
इस फ़ंक्शन के लिए अपने ऑनलाइन दस्तावेज़ीकरण के टिप्पणी अनुभाग में, Microsoft ने संकेत दिया है कि CURRENT_TIMEZONE()
SQL सर्वर के पुराने संस्करणों में पोर्ट किया जाएगा, लेकिन ऐसा लगता नहीं है कि इस लेखन के रूप में ऐसा हुआ है।
इस बीच, आप निम्न कोड आज़मा सकते हैं।
DECLARE @TimeZone VARCHAR(50)
EXEC MASTER.dbo.xp_regread 'HKEY_LOCAL_MACHINE',
'SYSTEM\CurrentControlSet\Control\TimeZoneInformation',
'TimeZoneKeyName',@TimeZone OUT
SELECT @TimeZone
परिणाम:
UTC
मैंने उसे SQL सर्वर 2017 के उसी उदाहरण पर चलाया जो CURRENT_TIMEZONE()
का समर्थन नहीं करता है , और इसने ठीक काम किया।
जाहिर है, आपका परिणाम इस बात पर निर्भर करेगा कि आपका सर्वर कहाँ स्थित है (या कम से कम, इसे किस समय क्षेत्र के लिए कॉन्फ़िगर किया गया है)। अगर मैं इस कथन को किसी अन्य सर्वर पर चलाता हूं तो मुझे यह मिलता है:
W. Europe Standard Time
SQL सर्वर में एक सिस्टम दृश्य भी होता है जो आपको समर्थित समय क्षेत्रों की एक सूची वापस करने में सक्षम बनाता है, जिसका उपयोग आप यहां अपने परिणामों को क्रॉस-चेक करने के लिए कर सकते हैं।