mysql跳过周末加减
时间: 2023-09-12 10:10:31 浏览: 116
在 MySQL 中,可以使用 `DATE_ADD()` 和 `DATE_SUB()` 函数来进行日期加减操作。要跳过周末,可以利用 `WEEKDAY()` 函数来判断日期是否为周六或周日。
例如,假设需要在某个日期上加上 5 个工作日,可以使用以下 SQL 语句:
```
SELECT DATE_ADD(date_column, INTERVAL 5 +
(CASE WHEN WEEKDAY(date_column + INTERVAL 5 DAY) >= 5
THEN 2
ELSE 0
END) DAY) as new_date
FROM your_table;
```
其中,`date_column` 表示需要加减的日期列,`+ INTERVAL 5 DAY` 表示需要加上 5 天,`WEEKDAY()` 函数返回日期是周几,如果是周六或周日,则需要再加上 2 天,最终得到的日期就是跳过周末后的结果。
同样的,如果需要在某个日期上减去 5 个工作日,可以使用以下 SQL 语句:
```
SELECT DATE_SUB(date_column, INTERVAL 5 +
(CASE WHEN WEEKDAY(date_column - INTERVAL 5 DAY) <= 1
THEN 2
ELSE 0
END) DAY) as new_date
FROM your_table;
```
其中,`- INTERVAL 5 DAY` 表示需要减去 5 天,`WEEKDAY()` 函数返回日期是周几,如果是周六或周日,则需要再减去 2 天,最终得到的日期就是跳过周末后的结果。
阅读全文