SELECT DATE_ADD(DATE(NOW()), INTERVAL -30 DAY) AS `30_workdays_ago`;
这个查询使用了DATE_ADD函数,该函数将日期向前推30天。但是,这个查询仅仅返回30天,如果周末或节假日在这段时间内,则实际的工作日数可能会比30天少。
如果需要考虑周末或者节假日的情况,则可以使用MySQL中的工作日计算函数WORKDAY,该函数可以计算从起始日期开始的指定数量的工作日。
SELECT WORKDAY(DATE(NOW()), -30) AS `30_workdays_ago`;
其中,第一个参数为当前日期,第二个参数为向前推多少个工作日。这个查询会考虑周末和节假日,返回的结果是真正的30个工作日之前的日期。
如果需要计算从某个特定日期开始的工作日,则可以将第一个参数改为该日期:
SELECT WORKDAY('2022-01-01', 30) AS `30_workdays_later`;
这个查询会计算从2022年1月1日开始的30个工作日之后的日期。