declare @createTime datetime = '2012-10-06 02:29:37.243';
-- original value, default formatting
select @createTime;
-- formatted
select convert(varchar, @createTime, 100);
-- subtract 4 hours, formatted
select convert(varchar, dateadd(hour, -4, @createTime), 100);
उपरोक्त क्वेरी जो dateadd
. का उपयोग करती है हमेशा 4 घंटे घटाएगा। यदि आपका लक्ष्य यूटीसी से स्थानीय समय में मनमाने ढंग से डेटाटाइम को परिवर्तित करना है, तो यह अधिक जटिल है क्योंकि आपको जो ऑफसेट जोड़ने/घटाने की आवश्यकता है वह मूल डेटाटाइम पर निर्भर करता है। -4 जैसा एक मान हमेशा काम नहीं करेगा। सामान्य मामले से निपटने के लिए यहां कुछ उपाय दिए गए हैं:
SQL 2005 में UTC और स्थानीय (अर्थात PST) समय के बीच दिनांकों को प्रभावी रूप से परिवर्तित करना