mysql - 我在查询中传递的日期与表的字段日期之间的天数差异

标签 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

最佳答案

这没有达到你想要的效果?

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;

关于mysql - 我在查询中传递的日期与表的字段日期之间的天数差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44604855/

相关文章:

mysql - MySQL 语句中包含日期的 Where 子句不起作用

php - 需要获得最接近的最小值和最大值

php - 在组合框选项中更改浏览器 href

Python。优化Append DF到MySQL DB

phpMyAdmin:更改显示的默认行数?

php - Phalcon - 语法错误,意外标记 AS,接近 ' a,UNSIGNED ) AS intHours

MySQL 事件不会执行

c# - Ms Access 2010 问题与 C# 中的 where 子句

PHP 抛出解析错误 : syntax error, 意外 ' "'

phpMyAdmin:PHP fatal error - 无法重新声明 PMA_checkLink()