2013-02-21 21 views
17

हमें getdate() या उपाध्यक्ष के बजाय GETUTCDATE() फ़ंक्शन का उपयोग क्यों करना चाहिए?GETUTCDATE फ़ंक्शन

दोनों का उद्देश्य क्या है? उदाहरण के साथ कृपया मेरी मदद करें।

उत्तर

40

GETUTCDATE() वर्तमान UTC समय (यूनिवर्सल समय कोआर्डिनेट या ग्रीनविच मीन टाइम)

  • यह एक nondeterministic समारोह, दृश्य और भाव यह है कि इस स्तंभ को संदर्भित अनुक्रमित नहीं किया जा सकता है प्रतिनिधित्व करता है।

वर्तमान यूटीसी समय वर्तमान स्थानीय समय और कंप्यूटर के ऑपरेटिंग सिस्टम में समय क्षेत्र सेटिंग से लिया गया है जिस पर SQL सर्वर चल रहा है।

GETDATE() और GETUTCDATE() के बीच अंतर समय एसक्यूएल सर्वर मशीन की क्षेत्र संख्या है।

बेहतर समझ के लिए उदाहरण देखें:

DECLARE @local_time DATETIME; 
DECLARE @gmt_time DATETIME; 
SET @local_time = GETDATE(); 
SET @gmt_time = GETUTCDATE(); 
SELECT 'Server local time: ' 
    + CONVERT(VARCHAR(40),@local_time); 
SELECT 'Server GMT time: ' 
    + CONVERT(VARCHAR(40),@gmt_time); 
SELECT 'Server time zone: ' 
    + CONVERT(VARCHAR(40), 
     DATEDIFF(hour,@gmt_time,@local_time)); 
GO 

उत्पादन:

Server local time: Jun 2 2007 10:06PM 
Server GMT time: Jun 2 2007 4:21PM 
Server time zone: 6 

GETDATE()

  • यह अपने क्षेत्रीय समय के साथ तारीख वापस आ जाएगी या हम कह सकते हैं, यह वर्तमान प्रणाली की तारीख और समय देता है।
  • यदि आप दूरस्थ रूप से SQL सर्वर से कनेक्ट हैं तो प्रदर्शित टाइमस्टैम्प दूरस्थ मशीन का टाइमस्टैम्प होगा, न कि आपकी स्थानीय मशीन।
  • यह एक नोडेटर्मेनिस्टिक फ़ंक्शन है।
  • इस कॉलम को संदर्भित करने वाले दृश्यों और अभिव्यक्तियों को अनुक्रमित नहीं किया जा सकता है।

GETUTCDATE()

  • यह तारीख और समय जीएमटी (ग्रीनविच मीन टाइम) वापस आ जाएगी।
  • GETUTCDATE() का उपयोग टाइम ज़ोन से स्वतंत्र टाइमस्टैम्प को स्टोर करने के लिए किया जा सकता है।
  • वर्तमान यूटीसी समय वर्तमान स्थानीय समय और कंप्यूटर के ऑपरेटिंग सिस्टम में समय क्षेत्र सेटिंग से लिया गया है जिस पर माइक्रोसॉफ्ट एसक्यूएल सर्वर का उदाहरण चल रहा है।
  • GETUTCDATE एक नोडेटर्मेनिस्टिक फ़ंक्शन है।
  • इस कॉलम को संदर्भित करने वाले दृश्यों और अभिव्यक्तियों को अनुक्रमित नहीं किया जा सकता है।