Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL में दो तिथियों के बीच सप्ताहांत की संख्या प्राप्त करें

मैंने इस तर्क को कई किनारे के मामलों के साथ आजमाया और ऐसा लगता है कि यह काम करता है।

SELECT DATEDIFF(d, @dFrom, @dTo)/7+1
    + CASE WHEN DATEPART(dw,@dFrom) IN (1,7) THEN -1 ELSE 0 END
    + CASE WHEN DATEPART(dw,@dTo) IN (1,7) THEN -1 ELSE 0 END

आप उन मामलों को कैसे संभालना चाहते हैं, जहां प्रारंभ या समाप्ति तिथि सप्ताहांत में है, इसके आधार पर आप CASE कथनों को बदल सकते हैं। मेरे मामले में मैं सप्ताहांत को शामिल नहीं कर रहा हूँ यदि प्रारंभ या समाप्ति तिथि शनिवार या रविवार है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. टी-एसक्यूएल स्ट्रिंग फ़ंक्शंस:बाएं/दाएं और सबस्ट्रिंग और अजीब व्यवहार का उपयोग करने के बीच अंतर

  2. एक्सेस में DAO रिकॉर्डसेट के आधार के रूप में SQL सर्वर पासथ्रू क्वेरी

  3. SQL सर्वर में एक विदेशी कुंजी बाधा में विश्वास कैसे पुनर्स्थापित करें (T-SQL उदाहरण)

  4. SQL IN क्वेरी अजीब परिणाम उत्पन्न करती है

  5. DELETE TRIGGER के साथ DELETE करने से पहले INSERT ने डिलीट किए गए मानों को एक टेबल में डाल दिया