【发布时间】:2022-02-21 19:24:52
【问题描述】:
我有以下查询,它给出了当前日期。我想将值作为字符串返回,因为我使用了TO_CHAR。
select NVL(TO_CHAR(sysdate,'DD.MM.YYYY'),0) from dual
但我需要识别 Day 并基于此它应该返回上一个 Date。 例如,当查询在每周一运行时,它应该返回上周五的日期。当查询从周二到周五运行时,它应该返回前一天的日期。
例如,当查询今天运行时,它应该返回上周五的日期,即18.02.2022。当查询在明天运行时,它应该返回今天的日期21.02.2022。
我想避免每个星期六和星期日的约会。我们可以在一个查询中做到这一点吗?
【问题讨论】:
-
附带说明:
NVL(datestring, 0)没有多大意义。至少零应该是一个字符串('0'),但我宁愿期待像 '00.00.0000' 或 '01.01.1900' 或 'no date' 而不是一个零。