2017-06-17 95 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

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