का उपयोग कर मौजूदा बिजनेस डे के साथ एक सप्ताह में पिछले कारोबारी दिन कैसे प्राप्त करें मेरे पास एक एसएसआईएस पैकेज है जो व्यावसायिक दिनों (सोम-शुक्र) पर चलता है। अगर मुझे ट्यूज़डे, पृष्ठभूमि (डीबी) पर फ़ाइल प्राप्त होती है, तो यह पिछले कारोबारी दिन की तारीख लेता है और कुछ लेनदेन करता है। अगर मैं शुक्रवार को नौकरी चलाता हूं, तो उसे सोमवार की तारीख लेनी होगी और लेनदेन को संसाधित करना होगा।एसक्यूएल सर्वर
मैं नीचे दिए गए क्वेरी का इस्तेमाल किया है पिछले व्यापार की तारीख पाने के लिए
Select Convert(varchar(50), Position_ID) as Position_ID,
TransAmount_Base,
Insert_Date as InsertDate
from tblsample
Where AsOfdate = Dateadd(dd, -1, Convert(datetime, Convert(varchar(10), '03/28/2012', 101), 120))
Order By Position_ID
अगर मैं इस क्वेरी मैं कल Transactios के परिणाम प्राप्त करेंगे निष्पादित। अगर मैं सोमवार को एक ही सवाल चलाता हूं, तो उसे रविवार की बजाय शुक्रवार के लेनदेन करना पड़ता है।
'DATEFIRST' को जानने की आवश्यकता से बचने के लिए 'DATENAME' का उपयोग करना, फिर भी यह अनदेखा करना कि यह भाषा विशिष्ट है? –
बहुत अच्छा बिंदु। हालांकि, मैं उन परिदृश्यों में आया हूं जहां DATEFIRST संघर्ष उन परिदृश्यों से एक मुद्दा रहा है जहां भाषा संघर्ष एक मुद्दा रहा है। उदाहरण के लिए, यदि आप अपने डेटाबेस में यूडीएफ बनाना चाहते हैं तो आप पहले यूडीएफ के भीतर दिनांक परिभाषित नहीं कर पाएंगे, आप फ़ंक्शन को सही डेटफर्स्ट सेट करने के लिए कॉल करने वाले प्रश्न पर निर्भर होंगे (या एक अलग डेटफर्स्ट सेट नहीं करते), मैं इसे एक और भाषा को एक अलग भाषा (मेरे अनुभव में) सेट करने की तुलना में एक अलग डेटफर्स्ट सेट करने की आवश्यकता होगी। – GarethD
आगे विस्तार करने के लिए, मैं एक ऐसी कंपनी में काम करता था जहां कमीशन सप्ताह बुधवार को पेपर की बिक्री के लिए बुधवार को चला जाता है, और टेलीसेल्स के लिए शुक्रवार से शनिवार तक, हम उसी प्रश्न का उपयोग करके डेटफर्स्ट सेट करके इस पर रिपोर्ट करने के लिए उपयोग कर सकते हैं, यह प्रस्तुत किया होगा सप्ताहांत की पहचान करने के लिए DATEPART (DAY, [date]) का कोई भी उपयोग बेकार है। यही कारण है कि मैं ** डेटानाम का उपयोग करने के लिए ** पसंद करते हैं। मैं वकालत नहीं करता कि यह निर्दोष है। – GarethD