在SQL查询中设置默认值

安妮·杰巴(Annie Jeba)

假设有一张桌子

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章