使用 MySQL 获取日期之间的差异并计算工资?
mysqlmysqli database更新于 2025/5/17 13:32:17
假设您需要获取一个月的日期(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)
相关文章
有用资源
mysql 参考教程 - 该教程包含有关 mysql 的更多信息:https://www.cainiaomax.com/mysql/

