如何用 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)
广告