我有一张桌子
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
等等。 有没有办法以我想要的格式获得差异?
答案 0 :(得分:2)
您应该使用TIMESTAMPDIFF
:
SELECT
id,
dates,
TIMESTAMPDIFF(DAY, dates, CURDATE()) AS diff
FROM tablename;