我想在Oracle查询中计算下一个工作日。所以在星期一-星期四应该是sysdate+1
,星期五应该是sysdate+3
,星期六应该是sysdate+2
,星期天应该是sysdate+1
。
我想动态地做它,而不是有很多覆盖不同日子的where语句。
where order_date = CASE WHEN (1 + TRUNC (SYSDATE) - TRUNC (SYSDATE, 'IW')) < 5
THEN TRUNC (SYSDATE) + 1
ELSE TRUNC (SYSDATE + 4), 'IW')
END
我从答案Next business day (Monday - Friday) in Oracle?中找到了这个,但似乎是查询错误,我无法解决。
3条答案
按热度按时间zvms9eto1#
你可以使用
to_char(sysdate, 'fmday')
来返回当天的字符串名称:更好:
eagi6jfj2#
要从语句中获得结果,请使用以下语句。
yqhsw0fo3#
您可以用途: