假设有一张桌子
Emp_id Name Comments
1 Ana Test
2 Dana Test1
3 Fiona Test2
下面的查询将从表中检索所有记录,现在我必须检索日期SysDate + 5个工作日(不包括周六和周日),这不在表中
select emp_id,Name,Comments from Employees
预期的输出是
Emp_id Name Comments Date
1 Ana Test 28.10.2016
2 Dana Test1 28.10.2016
3 Fiona Test2 28.10.2016
非常感谢您的帮助
如果SYSDATE是工作日,该公式应加7天,但是如果SYSDATE是周日,则该公式只应增加5天,而SYSDATE是周六则仅应增加6天。这可以通过CASE表达式来完成:
... SYSDATE + case to_char(SYSDATE, 'Dy') when 'Sun' then 5
when 'Sat' then 6
else 7 end as my_date...
(“日期”是Oracle中的保留字,请勿将其用作列名。)
另一件事-如果您确实需要一个日期(并且不需要与“当前”时间相同的一天中的时间),则您可能还希望将整个表达式包装在其中,trunc(....)
以便仅获取带有时间设置的日期到00:00:00
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句