MySQL中获取日期之间的差值并计算薪水
假设您需要获取一个月的日期(JoiningDate–EndDate)之间的差,即天数来计算工资。假设每天的工资是300;因此,对于20天,它将是6000。以同样的方式,对于27天,它将是8100。
对于我们的示例,让我们首先创建一个表
create table DemoTable -> ( -> JoinDate date, -> EndDate date -> , -> Value int -> );
使用插入命令在表中插入一些记录-
insert into DemoTable values('2019-01-01','2019-01-31',500); insert into DemoTable values('2019-02-12','2019-02-25',900);
使用select语句显示表中的所有记录-
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()-
select ABS(DATEDIFF(JoinDate,EndDate) * Value) AS Total from DemoTable;
输出结果
这将产生以下输出-
+-------+ | Total | +-------+ | 15000 | | 11700 | +-------+ 2 rows in set (0.14 sec)