2013-03-14 87 views
1

如何严格单独使用HQL来计算日期之间的天数。两个给定日期之间的天数

假设Current_DateExpiry_Date是从数据库中提取的两个日期。我想计算在Current_DateExpiry_Date之间的天数。

此外,我将如何处理,如果任何值是null

+0

尝试查看http://stackoverflow.com/questions/4759248/difference-between-two-dates-in-mysql – user1692333 2013-03-14 07:33:59

回答

0

我想出了一个针对我的问题的解决方案。

(extract(doy from bp.qhrIqamaexpirDate)-extract(doy from now()))

doy表示年份(1 - 366分之365)的日子。

bp.qhrIqamaexpirDate : 2013-02-28 00:00:00.0 

now() : 2013-03-14 14:53:12.051562 

extract(doy from bp.qhrIqamaexpirDate) : 59, extract(doy from now()) : 73 
2
DECLARE @startdate datetime2 = '2013-12-05 12:10:09.3312722'; 
DECLARE @enddate datetime2 = '2013-12-04 12:10:09.3312722'; 
SELECT DATEDIFF(day, isnull(@startdate,GetDate()), isnull(@enddate,GetDate()));