当前日期与存储为DDMMYY的数字字段之间的天数

时间:2013-11-14 05:58:44

标签: date db2 days winsql

我有一个日期字段存储为DDDDMMYY,并希望计算此日期与当前日期之间的天数。

我正在使用WINSQL和DB2。

我使用以下声明获得结果

days(curdate())-days(date(substr(lsdate+100000000,2,4)||'-'||substr(lsdate+100000000,6,2)||'-'||substr(lsdate+100000000,8,2)))

但可以将其用作WHERE子句,即

WHERE days(curdate())-days(date(substr(lsdate+100000000,2,4)||'-'||substr(lsdate+100000000,6,2)||'-'||substr(lsdate+100000000,8,2))) < 10

3 个答案:

答案 0 :(得分:0)

尝试:

SELECT DATEDIFF('d', 'date_column', GetDate()) as difference;

SQL在日期列上有操作,GetDate()函数应该给出当前日期。

http://www.w3schools.com/sql/func_datediff.asp

答案 1 :(得分:0)

如果您正在尝试使用c#,那么您可以使用Total days属性获取两个日期之间的总天数。

int totalDays= (firstDate - secondDate).TotalDays;

答案 2 :(得分:0)

使用DDMMYY您无法计算差异,除非您有一些限制。即使您说,存储的值是生日(因此它小于当前日期)您遇到问题。

说今天是141113,你想计算与131112的差异。结果是“1年1天”还是“101年1天”。你会发送一份“欢迎来到世界的包裹”或“让你生活得快乐的一揽子计划”吗?