提问人:gosiia 提问时间:10/18/2023 最后编辑:O. Jonesgosiia 更新时间:10/18/2023 访问量:24
如何从MySQL数据库中提取入职第一个月的工作天数?
How to extract a number of days worked in the first month of employment from MySQL database?
问:
我使用MySQL。我有一个数据库,其中包含有关员工的数据:姓名、姓氏、雇用日期(年-月-日)。我想在工作的第一个月工作几天。这些月的天数不同,我不知道该怎么做。
我认为 TIMESTAMPDIFF() 函数可能很有用,但我无法弄清楚正确的语法。 我是SQL的初学者,感谢您的宽容。
答:
1赞
O. Jones
10/18/2023
#1
如果有一个名为 type 的列,则可以使用 LAST_DAY(hiredate) 确定该人员被雇用的月份的最后一天。hiredate
DATE
SELECT LAST_DAY(hiredate) AS hired_in_month_ending
然后,您可以使用 DATEDIFF(end, start) 确定雇用日期和月末之间的日历天数。
SELECT 1 + DATEDIFF(LAST_DAY(hiredate), hiredate) AS calendar_days_in_month_hired
(这是为了处理这样一个事实,即在当月的最后一天雇用的人实际上有一天的工资单。1 +
至于工作天数,这取决于你没有提到的各种因素。周末?假期?缺席?
评论
0赞
gosiia
10/18/2023
这是一个用于作业的玩具数据库,因此数据库中没有提到周末、节假日和缺勤。谢谢你这么清楚的回答。
0赞
gosiia
10/18/2023
TIMESTAMPDIFF() 也很好用,但你也必须添加 1
下一个:如何从特定日期时间计算时间跨度
评论
SHOW CREATE TABLE tbl_name;