2017-06-17 81 views
0

的查询和实地日期已经过去了之间一天我点的历史记录表挣如下差异日期我在表

ID  Points  earn_date 
1  10   2017-04-04 
2  8   2017-04-01 
3  12   2017-04-28 
4  7   2017-05-16 
5  9   2017-06-03 

现在从earn_date到今天的日期我想使用查询

天差

首先我试图与下面的查询

SELECT *,earn_date - '2017-06-17' AS RemainDays FROM customer_earning 

然后我试图与DATEDIFF功能,但没有得到结果

我怎样才能获得天导致

输出我要的是如果我通过今天的日期,那么

ID  Points  earn_date  Days 
1  10   2017-04-04  74 
2  8   2017-04-01  78 
3  12   2017-04-28  50 
4  7   2017-05-16  32 
+0

我应该输出什么样子的? –

+0

显示您使用的日期和您得到的结果 –

回答

1

你想要什么这不呢?

SELECT ce.*, DATEDIFF('2017-06-17', ce.earn_date) AS RemainDays 
FROM customer_earning ce; 

鉴于问题中的信息,这应该计算剩余的天数。

你可以更明确一些类型转换,但我怀疑这会有所作为:

SELECT ce.*, 
     DATEDIFF(DATE('2017-06-17'), DATE(ce.earn_date)) AS RemainDays 
FROM customer_earning ce; 
+0

谢谢..工作Perfact .. – Kashyap

0

试试下面这样的查询:

select *,DATEDIFF(day,Earn_Date,GETDATE()) as RemainDays FROM customer_earning 
0

使用下面的查询

SELECT *,DATEDIFF(datepart,startdate,enddate) AS RemainDays FROM customer_earning; 

例如:

SELECT *,DATEDIFF(day,GETDATE(),earn_date) AS RemainDays FROM customer_earning; 

开始日期:像今天日期[GETDATE()]
结束日期:earn_date

[日期部分]就像是要计算什么。例如,如果要计算天,日期部分是一天,如果你要计算月份,日期部分是