在___处使用案例声明,并在BETWEEN中使用日期范围

问题描述 投票:0回答:1

根据我们是否已超过当月的第一个工作日,尝试将日期过滤到特定范围。

Oracle似乎不喜欢我在使用BETWEEN。

.....什么时候TO_DATE(myDate,'YYYYMMDD')= TO_DATE(SYSDATE-1)-TO_DATE(last_day(add_months(sysdate,-1))+ 6)> 0时的情况然后TO_DATE(最后日期(add_months(sysdate,-1))+ 1,'YYYYMMDD')--AND to_date(TRUNC(SYSDATE)-1,'YYYYMMDD')其他TO_DATE(最后一个日期(add_months(sysdate,-2))+ 1,'YYYYMMDD')--AND to_date(TRUNC(SYSDATE)-1,'YYYYMMDD')结束

请让我知道如何纠正此问题。

oracle case where-clause between
1个回答
0
投票

如果要在该月的第一个星期一之后的日期,则可以执行:

to_date(my_date, 'YYYYMMDD') >= next_day(trunc(sysdate, 'MM') - 1, 'MONDAY')

trunc(sysdate, 'MM') - 1给您上个月的最后一天。然后,next_day(..., 'MONDAY')给您下一个星期一。

© www.soinside.com 2019 - 2024. All rights reserved.