如何在SQL中查找今天的日期和指定日期之间的日差异。指定的日期列(P.SubscrpEndDate__c)采用日期时间格式(12/1/2014 12:00 Am)。我使用了以下查询,但它不起作用
DATEDIFF(day,GETDATE(), P.SubscrpEndDate__c) AS 'SubscriptionDueDate'
答案 0 :(得分:1)
在MySQL中,DATEDIFF
函数只接受两个参数:结束日期和开始日期:
DATEDIFF(NOW(), P.SubscrpEndDate__c) AS 'SubscriptionDueDate'
根据手册:
DATEDIFF(expr1, expr2)
返回expr1 - expr2表示为天中的值 一个约会到另一个。
另外,要获取当前日期和时间,您必须使用NOW()
而不是GETDATE
。
答案 1 :(得分:0)
它应该在SQL Server中工作。我假设您的表中的日期列(SubscrpEndDate__c)将包含比当前日期更低的值,因此您只需使用下面的查询。我刚换了第二个&第三个参数得到天数的正差异。您也可以使用ABS()函数忽略负差异。
SELECT DATEDIFF(day,P.SubscrpEndDate__c,GETDATE() ) AS 'SubscriptionDueDate'
答案 2 :(得分:0)
这样可行,请检查
SELECT DATEDIFF(NOW(),P.SubscrpEndDate__c)AS SubscriptionDueDate FROM xyz_table WHERE id =' 123456'