我正在努力根据当前日期与记录条目日期的差异添加where子句。还有其他一些简单的条款,但我对这些条款没有任何问题,所以我正在使演示数据变得简单,以突出我所遇到的问题。
演示数据集:
Rec_no Rec_date
77 20170606
69 20170605
55 20170601
33 20170520
29 20170501
日期以yyyymmdd格式记录,我想构建一个where子句,只显示从当前日期开始X天前创建的记录 - 比方说10。
因此,在这种情况下,只应显示第33和29号记录。
不幸的是,我不确定实际的数据库引擎是什么,但它应该来自IBM。
怎么可以这样做?
答案 0 :(得分:0)
正如评论中所建议的,在开始之前更新架构以将日期存储在正确的类型是最佳选择,但是如果由于某种原因无法实现,则首先需要将存储的日期转换为正确的格式在运行时。
我会在t-sql中写一个例子,就像我所知道的那样。一旦你完成了dbms,我就可以编辑相关的函数/语法
Select *
FROM Demodataset
WHERE Cast(Rec_Date as datetime) >= dateadd(day,-10,getdate())