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

15 तारीखों से पहले के शनिवारों को कार्य दिवसों के रूप में गिनें और दूसरों को छोड़ दें

आप अपनी आवश्यकता के अनुसार कार्य दिवसों की गणना करने के लिए नीचे दिए गए कोड का उपयोग कर सकते हैं -

CREATE FUNCTION FN_CNT_Working_days(StartDate DATE,
                                    EndDate   DATE) 
RETURNS INT
BEGIN
     DECLARE WORKING_DAYS INT;
     SELECT
   (DATEDIFF(EndDate, DATE(CONCAT(YEAR(EndDate), '-', MONTH(EndDate), '-', 16))) + 1)
  -(FLOOR(DATEDIFF(EndDate, DATE(CONCAT(YEAR(EndDate), '-', MONTH(EndDate), '-', 16)))/7) * 2)
  -(CASE WHEN DAYNAME(DATE(CONCAT(YEAR(EndDate), '-', MONTH(EndDate), '-', 16))) = 'Sunday' THEN 1 ELSE 0 END)
  -(CASE WHEN DAYNAME(EndDate) = 'Saturday' THEN 1 ELSE 0 END) 
   +
   (DATEDIFF(DATE(CONCAT(YEAR(EndDate), '-', MONTH(EndDate), '-', 15)), StartDate) + 1)
  -(FLOOR(DATEDIFF(DATE(CONCAT(YEAR(EndDate), '-', MONTH(EndDate), '-', 15)), StartDate)/7))
  -(CASE WHEN DAYNAME(StartDate) = 'Sunday' THEN 1 ELSE 0 END)
     INTO WORKING_DAYS;

     RETURN (WORKING_DAYS);
END;

यहां बेला है। साथ ही आपको इस कोड के साथ छुट्टियों का भी ध्यान रखना होगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL दो कॉलम टाइमस्टैम्प डिफ़ॉल्ट अब मान ERROR 1067

  2. MySQL की तरह Firebase से गणना डेटा पुनर्प्राप्त करें

  3. मुझे यह कोड मिल गया है यह ठीक काम कर रहा है लेकिन मैं कोड को किसी अन्य संरचना में बदलना चाहता हूं

  4. LOAD DATA LOCAL INFILE के साथ स्पेशल कैरेक्टर कैसे सेट करें?

  5. Select2 अजाक्स परिणाम नहीं दिखा रहा है