में समय क्षेत्र ऑफ़सेट निर्धारित करें मेरा डेटाबेस एप्लिकेशन विभिन्न समय क्षेत्रों में एकाधिक साइटों पर तैनात किया जा रहा है।टी-एसक्यूएल
मुझे एक टी-एसक्यूएल फ़ंक्शन चाहिए जो YTD गणनाओं के लिए चालू वर्ष के 1 जनवरी को आधी रात के यूटीसी टाइमस्टैम्प को निर्धारित करेगा। सभी डेटा यूटीसी टाइमस्टैम्प में संग्रहीत है।
उदाहरण के लिए, शिकागो डेटाइट सेविंग्स टाइम (डीएसटी) के साथ यूटीसी -6 है, तो 2008 में शिकागो में किसी भी समय चलाने पर फ़ंक्शन को '2008-01-01 06:00:00' वापस करने की आवश्यकता होती है। यदि अगले वर्ष न्यूयॉर्क (जीएमटी -5 + डीएसटी) में भाग लेते हैं, तो उसे '200 9-01-01 05:00:00' वापस करने की जरूरत है।
मैं वर्तमान वर्ष YEAR (GETDATE()) से प्राप्त कर सकता हूं। मैंने सोचा कि मैं ऑफ़सेट निर्धारित करने के लिए GETDATE() और GETUTCDATE() के बीच एक DATEDIFF कर सकता हूं लेकिन परिणाम इस बात पर निर्भर करता है कि क्वेरी डीएसटी के दौरान चलती है या नहीं। मुझे ऑफसेट निर्धारित करने के लिए किसी भी निर्मित टी-एसक्यूएल फ़ंक्शंस के बारे में पता नहीं है या वर्तमान समय डीएसटी है या नहीं?
क्या किसी को टी-एसक्यूएल में इस समस्या का समाधान है? मैं इसे हार्ड कोड कर सकता हूं या इसे एक टेबल में स्टोर कर सकता हूं लेकिन ऐसा नहीं करना चाहूंगा। मुझे लगता है कि एसक्यूएल सर्वर 2005 में सीएलआर एकीकरण का उपयोग करने के लिए यह एक आदर्श स्थिति है। मैं बस सोच रहा हूं कि कोई टी-एसक्यूएल समाधान है जिसे मैं अनजान हूं?
धन्यवाद एरिक। मैंने एक टेबल आधारित समाधान लागू किया है जैसा कि आपने अतीत में सुझाव दिया है। मैं बस सोच रहा था कि क्या ऐसा कुछ था जिसे मैंने याद किया था जिससे मेरा जीवन आसान हो जाएगा। –