从当前日期开始的mysql中的Substract日期列

时间:2016-12-07 03:10:47

标签: mysql

我有一张桌子

id    dates
1    2016-11-06
2    2016-11-07
3    2016-11-06
4    2016-11-09
5    2016-11-10
6    2016-11-06
7    2016-11-03

我想创建一个单独的列diff,它会告诉我与当前日期的日期差异。

id    dates       diff
1    2016-11-06     31
2    2016-11-07     30
3    2016-11-06     31
4    2016-11-09     28
5    2016-11-10     27
6    2016-11-06     31
7    2016-11-03     34

所以我尝试了这个查询

选择id,日期,TIMEDIFF(日期,CURDATE())作为来自tablename的差异;

但结果不同。

id    dates       diff
1    2016-11-06    -744:00:00
2    2016-11-07    -720:00:00
3    2016-11-06    -744:00:00
4    2016-11-09    -672:00:00
5    2016-11-10    -648:00:00
6    2016-11-06    -744:00:00

等等。 有没有办法以我想要的格式获得差异?

1 个答案:

答案 0 :(得分:2)

您应该使用TIMESTAMPDIFF

SELECT 
    id,
    dates,
    TIMESTAMPDIFF(DAY, dates, CURDATE()) AS diff
FROM tablename;

SqlFiddle demo