Oracle SQL 查询 - 获取上周(周一至周六)的数据

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/32584375/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-19 03:00:42  来源:igfitidea点击:

Oracle SQL query - get data from last week (Monday-Saturday)

sqloracle

提问by Andy Vincent

I'm working on a query that would show data added in last week (always beginning with Monday), from COLUMNNAME, TABLENAME. I also have a column with dates, adddate. It seems not to work... How would I fix it?

我正在处理一个查询,该查询将显示上周添加的数据(总是从星期一开始),来自COLUMNNAMETABLENAME。我还有一个日期列,adddate。它似乎不起作用......我将如何解决它?

select COLUMNNAME
from TABLENAME 

where adddate >= (TRUNC(adddate - 7 - (TRUNC (adddate)- TRUNC (adddedate, 'IW'))))
and adddate < (TRUNC(adddate - 7 - (TRUNC (adddate)- TRUNC (adddedate, 'IW'))))+6

回答by Gordon Linoff

I think your expression needs the current date in it somewhere, such as:

我认为您的表达式需要在某处显示当前日期,例如:

where adddate >= next_day(trunc(sysdate), 'MONDAY') - 14 and
      adddate < next_day(trunc(sysdate), 'MONDAY') - 7