【问题标题】:Return results less than two Sundays ago返回不到两个星期天前的结果
【发布时间】:2019-10-24 22:59:43
【问题描述】:

我在表格中有以下日期列。

表A

WEEKENDDATE
 2/24/2019
 3/10/2019
 6/10/2019

如何使用 where 子句仅返回不到两个星期天前的结果?

因此,WEEKENDDATE 列中大于两个星期天之前的任何日期都不会显示。

select * from TableA where 1=1 --and

【问题讨论】:

  • 不难,但你必须给“不到两个星期天前”一个非常精确的定义。如果您在周日上午 10 点运行查询会怎样——在这种情况下,“两个周日前”是什么?另外,“不到两个星期天之前”是指“两个星期天之前或 之前的日期”吗?这实际上意味着“大于”该日期(两个星期天前),而不是“小于”同一日期。

标签: sql oracle date datediff


【解决方案1】:

我想你想要:

where weekenddate >= next_day(sysdate - interval '1' day, 'SUNDAY') - interval '14' day

(我不确定您是否想要过去 2 周或 3 周。)

也就是说,您的日期似乎都在星期天,所以这看起来更简单:

where weekenddate >= trunc(sysdate) - interval '14' day

【讨论】:

  • 从关键字“week”获取“无效的日期时间字段”
猜你喜欢
  • 2019-07-12
  • 1970-01-01
  • 2019-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-17
  • 1970-01-01
相关资源
最近更新 更多