का उपयोग आप @@DATEFIRST
पर निर्भर करते हैं या DATEPART(weekday, DateColumn)
उपयोग करने के लिए नहीं करना चाहते हैं कर सकते हैं, सप्ताह के दिन की गणना करें।
सोमवार आधारित सप्ताह (यूरोप) सबसे सरल है:
SELECT DATEDIFF(day, '17530101', DateColumn) % 7 + 1 AS MondayBasedDay
रविवार आधारित सप्ताह के लिए (अमेरिका) का उपयोग करें:
SELECT DATEDIFF(day, '17530107', DateColumn) % 7 + 1 AS SundayBasedDay
यह वापसी काम करने के दिन संख्या (7 करने के लिए 1) कभी जनवरी के बाद से 1 क्रमशः 7 वां, 1753.
स्रोत
2017-09-20 15:45:22
यदि आपके पास तिथि भाग के लिए लुकअप वाली तालिका है, तो आपने आमतौर पर कुछ गलत किया है।SQL सर्वर का दिनांक फ़ंक्शन कई और मजबूत है, इसलिए किसी भी डेटा को किसी दिनांक से निकालने के लिए आपको डेटाटाइम कॉलम पर आसानी से किया जा सकता है। –
सहायक टेबल तारीख गणना के लिए बहुत उपयोगी हैं, कैलेंडर सहायक तालिका रखना असामान्य नहीं है ... –
"दिनांक गणना के लिए उपयोगी" अत्यधिक संदिग्ध है। अधिकांश दिनांक गणना किसी भी प्रकार की सहायक तालिका के बिना संभाली जा सकती है और यह भी बेहतर प्रदर्शन करेगी। कुछ मामलों में, एक सादा संख्या तालिका नौकरी करेगी - इसमें वास्तविक तिथियों वाली तालिका की आवश्यकता नहीं है। एकमात्र कारण मैंने देखा है कि वास्तविक कैलेंडर तालिका की आवश्यकता होती है जब नियम किस दिन कार्य दिवस होते हैं और कौन से दिन बहुत जटिल नहीं होते हैं। जो मैंने देखा है, वह लोग अक्सर तारीख सारणी का उपयोग कर रहे हैं क्योंकि वे नहीं जानते कि इसे किसी अन्य तरीके से कैसे किया जाए। फिर उन्हें हर बार तारीख तालिका को पॉप्युलेट करना होता है। बेवकूफ। – ErikE