Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में तिथियों का अंतर निकालकर वेतन कैसे गणना करें? DATEDIFF फ़ंक्शन

मान लें आपको तिथियों का अंतर (JoinDate - EndDate) निकालकर दिनों की संख्या प्राप्त करनी है और फिर वेतन गणना करना है। दैनिक वेतन मान लें 300; तो 20 दिनों के लिए 6000, 27 दिनों के लिए 8100।

टेबल बनाएं

mysql> create table DemoTable (
    -> JoinDate DATE,
    -> EndDate DATE,
    -> Value INT
    -> );
Query OK, 0 rows affected (1.16 sec)

रिकॉर्ड्स डालें

mysql> insert into DemoTable values('2019-01-01','2019-01-31',500);
Query OK, 1 row affected (0.37 sec)
mysql> insert into DemoTable values('2019-02-12','2019-02-25',900);
Query OK, 1 row affected (0.22 sec)

सभी रिकॉर्ड्स देखें

mysql> select * from DemoTable;
+------------+------------+-------+
| JoinDate   | EndDate    | Value |
+------------+------------+-------+
| 2019-01-01 | 2019-01-31 | 500   |
| 2019-02-12 | 2019-02-25 | 900   |
+------------+------------+-------+
2 rows in set (0.00 sec)

वेतन गणना करने का क्वेरी (तिथि अंतर के लिए DATEDIFF उपयोग)

mysql> SELECT ABS(DATEDIFF(JoinDate, EndDate) * Value) AS Total FROM DemoTable;

आउटपुट:

+-------+
| Total |
+-------+
| 15000 |
| 11700 |
+-------+
2 rows in set (0.14 sec)

व्याख्या:

  • DATEDIFF(JoinDate, EndDate) - दिनों में अंतर (JoinDate - EndDate)
  • पहली पंक्ति: 30 दिन * 500 = 15000
  • दूसरी पंक्ति: 13 दिन * 900 = 11700
  • ABS() - निरपेक्ष मान (ऋणात्मक अंतर को धनात्मक बनाता है)
  • DATEDIFF(date1, date2) = date1 - date2 दिनों में

नोट: Value कॉलम दैनिक दर दर्शाता है।

  1. - MySQL में BIGINT और BIGINT(20) में क्या अंतर है

    BIGINT vs BIGINT(20) - डिस्प्ले विड्थ का अंतर BIGINT और BIGINT(20) के बीच एकमात्र अंतर डिस्प्ले विड्थ (प्रदर्शन चौड़ाई) है। संख्या 20 केवल प्रदर्शन के लिए उपयोग की जाती है, स्टोरेज रेंज या परिशुद्धता पर कोई प्रभाव नहीं पड़ता। आइए उदाहरण देखते हैं - BIGINT(20) ZEROFILL के साथ टेबल बनाएं: mysql> CR

  1. - MySQL में TIMESTAMPDIFF से दो दिनांकों के बीच महीनों का अंतर निकालें

    MySQL का TIMESTAMPDIFF() फ़ंक्शन दो दिनांक/समय मानों के बीच निर्दिष्ट इकाई में अंतर की गणना करता है। सिंटैक्स TIMESTAMPDIFF(इकाई, दिनांक1, दिनांक2) इकाइयां: MICROSECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR उदाहरण: महीनों में अंतर 1. टेबल बनाएं ); 2. डेटा डालें INSERT INTO De

  1. - MySQL में != NULL और IS NOT NULL का अंतर

    NULL तुलना: != NULL बनाम IS NOT NULL MySQL में किसी मान की तुलना !=NULL से करने पर परिणाम NULL होता है, इसलिए !=NULL अर्थहीन है। सही तरीका IS NOT NULL है। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1970 ( Value int ); Query OK, 0 rows affected (0.00 sec) mysql> insert into DemoTabl