You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL中如何获取月末日期以判断员工退休金缴纳是否逾期

在MySQL里,你可以用LAST_DAY()函数直接获取指定日期所在月份的月末日期,这比手动计算天数靠谱多了。

针对你的需求,正确的逻辑应该是:先通过LAST_DAY(pay_date)得到发薪当月的最后一天,再给这个日期加30天,最后对比trade_date是否超过这个时间点。

修正后的查询语句如下:

SELECT 
    trade_date, 
    pay_date,
    CASE 
        WHEN trade_date > DATE_ADD(LAST_DAY(pay_date), INTERVAL 30 DAY) 
        THEN 'Late' 
        ELSE 'On time' 
    END AS status
FROM 2022_contributions;

举个例子验证:当pay_date是2022-3-6时,LAST_DAY(pay_date)返回2022-03-31,加30天后就是2022-04-30,完全符合你给出的逾期判断标准。

另外补充一点,如果你的业务需要调整逾期判定的边界(比如trade_date等于截止日期算逾期),可以把判断条件改成>=。

内容的提问来源于stack exchange,提问作者Exquisite_Poupon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 20:22:00