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

MySQL में सप्ताहांत और छुट्टियों को छोड़कर दिनांक अंतर की गणना कैसे करें

आप इसे आजमाना चाहेंगे:

  1. कार्य दिवसों की संख्या की गणना करें (इसे यहां )

    SELECT 5 * (DATEDIFF('2012-12-31', '2012-01-01') DIV 7) + MID('0123444401233334012222340111123400012345001234550', 7 * WEEKDAY('2012-01-01') + WEEKDAY('2012-12-31') + 1, 1)

    यह आपको 2012 के लिए 261 कार्य दिवस देता है।

  2. अब आपको अपनी छुट्टियों के बारे में पता होना चाहिए जो सप्ताहांत पर नहीं होती हैं

    SELECT COUNT(*) FROM holidays WHERE DAYOFWEEK(holiday) < 6

    इसका परिणाम आपकी अवकाश तालिका पर निर्भर करता है।

  3. हमें इसे एक प्रश्न में प्राप्त करने की आवश्यकता है:

    SELECT 5 * (DATEDIFF('2012-12-31', '2012-01-01') DIV 7) + MID('0123444401233334012222340111123400012345001234550', 7 * WEEKDAY('2012-01-01') + WEEKDAY('2012-12-31') + 1, 1) - (SELECT COUNT(*) FROM holidays WHERE DAYOFWEEK(holiday) < 6)

    यही होना चाहिए।

संपादित करें:कृपया ध्यान रखें कि यह ठीक से तभी काम करता है जब आपकी समाप्ति तिथि आपकी आरंभ तिथि से अधिक हो।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLAlchemy (घोषणात्मक शैली) में डालने पर डुप्लिकेट प्राथमिक कुंजी से निपटना

  2. मैं रेल माइग्रेशन में चेक बाधा कैसे जोड़ूं?

  3. पीडीओ स्टेटमेंट में कॉलम के नाम से बचना

  4. asp.net/MySQL:उपयोगकर्ता ''@'लोकलहोस्ट' के लिए प्रवेश निषेध (पासवर्ड का उपयोग करके:नहीं)

  5. लार्वा 4 - एलोक्वेंट ओआरएम के लिए लिमिट (टेक एंड स्किप) कैसे करें?