-2

我有一个存储为 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
4

3 回答 3

0

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

假设今天是 141113,您想计算与 131112 的差异。结果是“1 年零 1 天”还是“101 年零 1 天”。你会发送一个“欢迎来到这个世界的包裹”还是一个“让你的生活更快乐的包裹”?

于 2013-11-14T09:01:46.670 回答
0

尝试:

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

SQL 对日期列进行操作,GetDate() 函数应该给出当前日期。

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

于 2013-11-14T06:01:50.750 回答
0

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

int totalDays= (firstDate - secondDate).TotalDays;
于 2013-11-14T06:04:15.087 回答