आप इसे SQL Server 2008 या उच्चतर पर निम्नानुसार कर सकते हैं:
SELECT CONVERT(datetime,
SWITCHOFFSET(CONVERT(datetimeoffset,
MyTable.UtcColumn),
DATENAME(TzOffset, SYSDATETIMEOFFSET())))
AS ColumnInLocalTime
FROM MyTable
आप कम क्रिया भी कर सकते हैं:
SELECT DATEADD(mi, DATEDIFF(mi, GETUTCDATE(), GETDATE()), MyTable.UtcColumn)
AS ColumnInLocalTime
FROM MyTable
आप जो कुछ भी करते हैं, नहीं -
का उपयोग करें तिथियों को घटाने के लिए, क्योंकि ऑपरेशन परमाणु नहीं है, और सिस्टम डेटाटाइम और स्थानीय डेटाटाइम के बीच अलग-अलग समय (यानी, गैर-परमाणु रूप से) की जाँच के बीच दौड़ की स्थिति के कारण आपको अनिश्चित परिणाम मिलेंगे।
कृपया ध्यान दें कि यह उत्तर डीएसटी को ध्यान में नहीं रखता है। यदि आप एक डीएसटी समायोजन शामिल करना चाहते हैं, तो कृपया निम्नलिखित SO प्रश्न भी देखें:
SQL सर्वर में डेलाइट सेविंग टाइम प्रारंभ और समाप्ति फ़ंक्शन कैसे बनाएं