如何仅使用 HQL 严格计算截止日期之间的天数。
假设Current_Date
和Expiry_Date
是从数据库中获取的两个日期。我想计算 和 之间的天Current_Date
数Expiry_Date
。
另外,如果有任何值,我将如何处理null
?
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()));
我想出了一个解决我的问题的方法。
(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