今天的日期与SQL中的指定日期之间的日差异

时间:2016-05-25 06:01:48

标签: mysql sql

如何在SQL中查找今天的日期和指定日期之间的日差异。指定的日期列(P.SubscrpEndDate__c)采用日期时间格式(12/1/2014 12:00 Am)。我使用了以下查询,但它不起作用

DATEDIFF(day,GETDATE(), P.SubscrpEndDate__c)  AS 'SubscriptionDueDate' 

3 个答案:

答案 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'