我正在尝试在TOAD中创建一个从Oracle DB中检索数据的SQL查询。 它应该做的是将之前工作日的所有数据检索回一周,但它应该排除星期六和星期日。 到目前为止,我创建了下面的查询。在这种格式中,它会返回一个" Missing关键字"错误信息。 TOAD突出了我的第一个"之间"运营商。 我知道我几乎就在那里。谁能给我最终的推动方向。
感谢。
Select orderkey, actualshipdate
from orders
Case to_char(sysdate, 'DAY')
When 'MONDAY'
then to_char(actualshipdate,'YYYYMMDD') between to_char(sysdate, 'YYYYMMDD') -11 and to_char(sysdate, 'YYYYMMDD')-3
else to_char(actualshipdate,'YYYYMMDD') between to_char(sysdate, 'YYYYMMDD') -8 and to_char(sysdate, 'YYYYMMDD')-1
end
order by actualshipdate asc
答案 0 :(得分:0)
根据您的描述(并替换日期的糟糕的to_char):
select orderkey, actualshipdate
from orders
where 1=1
and actualshipdate between trunc(sysdate) - 8
and trunc(sysdate)-(1/86400) -- midnight last night minus 1 second
and to_char(actualshipdate, 'D') not in (6,7) -- 6: Sat, 7: Sun