如何用 MySQL 獲取日期之間的差值並計算工資?


假設你需要獲取一個月日期(JoiningDate – EndDate)之間的差值,即用來計算工資的天數。假設日工資為 300;因此,20 天就是 6000。同理,27 天就是 8100。

對於本例,我們先建立一張表

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

使用 insert 命令向表中插入一些記錄 -

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)

使用 select 語句從表中顯示所有記錄 -

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)

更新於: 30-Jun-2020

327 次檢視

啟動你的職業生涯

透過完成課程來獲得認證

開始
廣告