where-clause基于当前和记录日期

时间:2017-06-09 11:27:54

标签: sql

我正在努力根据当前日期与记录条目日期的差异添加where子句。还有其他一些简单的条款,但我对这些条款没有任何问题,所以我正在使演示数据变得简单,以突出我所遇到的问题。

演示数据集:

Rec_no  Rec_date    
77  20170606
69  20170605
55  20170601
33  20170520
29  20170501

日期以yyyymmdd格式记录,我想构建一个where子句,只显示从当前日期开始X天前创建的记录 - 比方说10。

因此,在这种情况下,只应显示第33和29号记录。

不幸的是,我不确定实际的数据库引擎是什么,但它应该来自IBM。

怎么可以这样做?

1 个答案:

答案 0 :(得分:0)

正如评论中所建议的,在开始之前更新架构以将日期存储在正确的类型是最佳选择,但是如果由于某种原因无法实现,则首先需要将存储的日期转换为正确的格式在运行时。

我会在t-sql中写一个例子,就像我所知道的那样。一旦你完成了dbms,我就可以编辑相关的函数/语法

Select *
FROM Demodataset
WHERE Cast(Rec_Date as datetime) >= dateadd(day,-10,getdate())