【问题标题】:Oracle SQL query - get data from last week (Monday-Saturday)Oracle SQL 查询 - 获取上周(周一至周六)的数据
【发布时间】:2015-09-15 19:11:40
【问题描述】:

我正在处理一个查询,该查询将显示上周添加的数据(总是从星期一开始),来自 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

【问题讨论】:

  • 这对我有用:SELECT TRUNC(SYSDATE - 7 - (TRUNC (SYSDATE)- TRUNC (SYSDATE, 'IW'))), TRUNC(SYSDATE - 7 - (TRUNC (SYSDATE)- TRUNC (SYSDATE+6, 'IW'))) 来自双重

标签: sql oracle


【解决方案1】:

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

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

【讨论】:

  • @BobJarvis 。 . .是的,我做到了。谢谢。
  • 请注意,NEXT_DAY 的参数取决于本地 NLS 设置。确保您当前的会话使用“English”作为NLS_DATE_LANGUAGE
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-22
  • 2019-11-21
  • 1970-01-01
  • 2017-09-16
  • 1970-01-01
  • 2019-03-18
  • 2021-04-17
相关资源
最近更新 更多