我需要创建一个查询,以确定员工的退休供款是延迟支付还是按时支付。如果供款是在员工本应获得该笔款项的月份结束后30天后支付的,则该供款是延迟支付的。例如,如果员工是在2022年3月6日获得付款的,那么捐款必须在2022年4月30日之前做出。我正在处理的专栏有:
trade_date
:缴款日期pay_date
:支付员工工资的日期
我已经创建了下面的查询,但是意识到DATE_ADD(pay_date, interval 1 month)
不能正常工作,因为2022-3-6最终会变成2022-4-6而不是2022-3-31。
Select trade_date, pay_date,
CASE WHEN trade_date > DATE_ADD(DATE_ADD(pay_date, interval 1 month), interval 30 day)
THEN 'Late' ELSE 'On time' END as status
From 2022_contributions
我不熟悉在DATE_ADD()
内部添加刚好够到月底的天数的方法,任何建议都非常感谢。
我正在使用MySQL
1条答案
按热度按时间wljmcqd81#
我已经找到了答案,但我会把这个留在这里,以防它对其他人有帮助。MySQL实际上有一个函数
LAST_DAY()
,你可以在其中输入你的日期列,它会返回那个月的最后一天的日期。