我在表的查询和字段日期中传递的日期之间的差异

时间:2017-06-17 12:50:52

标签: mysql sql phpmyadmin

我有历史记录表获得如下

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

3 个答案:

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

答案 1 :(得分:0)

尝试以下查询:

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

答案 2 :(得分:0)

使用以下查询

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

例如:

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

startdate:,例如今天日期 [GETDATE()]
enddate:,例如 earn_date

[datepart] 就像你想要计算的一样。例如,如果要计算天数,日期部分为,如果要计算月数,则日期部分为