SWITCHOFFSET समारोह एक निर्दिष्ट समय क्षेत्र में एक इनपुट DATETIMEOFFSET मूल्य समायोजित कर देता है, जबकि संरक्षण यूटीसी मूल्य। वाक्यविन्यास SWITCHOFFSET (डेटाटाइमसेट_वैल्यू, टाइम_ज़ोन) है। उदाहरण के लिए, निम्नलिखित कोड समय क्षेत्र में मौजूदा प्रणाली datetimeoffset मूल्य समायोजित कर देता है जीएमटी 05: 00:
चयन SWITCHOFFSET (SYSDATETIMEOFFSET(), '-05: 00');
तो अगर मौजूदा प्रणाली datetimeoffset मान 12 फ़रवरी, 2009 10: 00: ००.००००००० -08: 00:: ००.००००००० -05: 00 00, इस कोड मूल्य 12 फरवरी, 2009 13 देता है।
TODATETIMEOFFSET फ़ंक्शन इनपुट तिथि के समय क्षेत्र ऑफसेट और समय मान सेट करता है। इसका वाक्यविन्यास TODATETIMEOFFSET (date_and_time_value, time_zone) है।
यह फ़ंक्शन SWITCHOFFSET से कई तरीकों से अलग है। सबसे पहले, यह इनपुट के रूप में डेटाटाइमसेट मान तक सीमित नहीं है; बल्कि यह किसी भी दिनांक और समय डेटा प्रकार स्वीकार करता है।दूसरा, यह करने की कोशिश नहीं कर रहा है के बजाय सिर्फ एक datetimeoffset मूल्य के रूप में इनपुट तारीख और निर्धारित समय क्षेत्र के साथ समय मान देता है समय स्रोत मान और निर्दिष्ट समय क्षेत्र लेकिन के बीच समय क्षेत्र अंतर के आधार को समायोजित ।
TODATETIMEOFFSET समारोह का मुख्य उद्देश्य है प्रकार उस समय क्षेत्र दिया समय ऑफसेट क्षेत्र द्वारा DATETIMEOFFSET को जानकारी नहीं है परिवर्तित करने के लिए। अगर दी गई तारीख और समय मूल्य एक DATETIMEOFFSET है, TODATETIMEOFFSET समारोह में परिवर्तन एक ही मूल स्थानीय दिनांक और समय मूल्य के साथ साथ नए दिया समय क्षेत्र ऑफसेट के आधार पर DATETIMEOFFSET मूल्य। 00: ००.००००००० -08:
उदाहरण के लिए, वर्तमान प्रणाली datetimeoffset मूल्य 12 फरवरी, 2009 10 है 00, और आपको निम्न कोड को चलाने :
चयन TODATETIMEOFFSET (SYSDATETIMEOFFSET(), '-05: 00');
मूल्य फरवरी 12, 200 9 10: 00: 00.0000000 -05: 00 वापस आ गया है। याद रखें SWITCHOFFSET समारोह लौट आए है कि 12 फरवरी, 2009 13: 00: ००.००००००० -05: 00 क्योंकि यह (-08: 00) इनपुट के बीच समय क्षेत्र अंतर के आधार पर समय समायोजित और निर्दिष्ट समय क्षेत्र (-05: 00)।
जैसा कि पहले बताया गया है, आप TODATETIMEOFFSET फ़ंक्शन का उपयोग दिनांक और समय डेटा प्रकार इनपुट के रूप में कर सकते हैं। उदाहरण के लिए, निम्न कोड लेता मौजूदा प्रणाली की तारीख और समय मूल्य और एक समय क्षेत्र -00 के साथ एक datetimeoffset मूल्य रूप रिटर्न यह: 05:
चयन TODATETIMEOFFSET (SYSDATETIME(), '-05: 00 ');
--- धन्यवाद दोस्तों, मैं उस में स्पष्ट किया जाना चाहिए था मैं बस को जोड़ने के लिए समय को परिवर्तित किए बिना भरपाई करना चाहता था। लेकिन तुम लोग मुझे वहाँ मिला! ;) – hdz