मान लें आपको तिथियों का अंतर (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 कॉलम दैनिक दर दर्शाता है।