如何仅使用HQL严格计算到日期之间的天数。
假设Current_Date
和Expiry_Date
是从数据库中提取的两个日期。我想计算Current_Date
和Expiry_Date
之间的天数。
此外,如果任何值为null
,我将如何处理?
答案 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