两个给定日期之间的天数

时间:2013-03-14 07:32:35

标签: sql hibernate date hql

如何仅使用HQL严格计算到日期之间的天数。

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

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

2 个答案:

答案 0 :(得分: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()));

答案 1 :(得分:0)

我为我的问题找到了解决方案。

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

doy代表一年中的某一天(1 - 365/366)。

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