Pas*_*TIN 240
怎么样DATEDIFF功能?
引用手册页面:
DATEDIFF()返回expr1 - expr2,表示为从一个日期到另一个日期的天数值.expr1和expr2是日期或日期和时间表达式.在计算中仅使用值的日期部分
在您的情况下,您使用:
mysql> select datediff('2010-04-15', '2010-04-12');
+--------------------------------------+
| datediff('2010-04-15', '2010-04-12') |
+--------------------------------------+
| 3 |
+--------------------------------------+
1 row in set (0,00 sec)
Run Code Online (Sandbox Code Playgroud)
但请注意,日期应该写成YYYY-MM-DD
,而不是DD-MM-YYYY
像你发布的那样.
Kon*_*ski 36
请注意,如果您想在2个日期之间计算24小时,则datediff可能会为您返回错误的值.
正如文件所述:
在计算中仅使用值的日期部分.
结果
select datediff('2016-04-14 11:59:00', '2016-04-13 12:00:00')
返回1而不是预期的0.
解决方案正在使用select timestampdiff(DAY, '2016-04-13 11:00:01', '2016-04-14 11:00:00');
(注意与datediff相比的参数顺序).
一些例子:
select timestampdiff(DAY, '2016-04-13 11:00:01', '2016-04-14 11:00:00');
返回0select timestampdiff(DAY, '2016-04-13 11:00:00', '2016-04-14 11:00:00');
返回1select timestampdiff(DAY, '2016-04-13 11:00:00', now());
返回自2016-04-13 11:00:00至今已过去24小时的全天数.希望它会对某人有所帮助,因为起初并不是很明显为什么dateiff会返回看似意外或错误的值.
Tob*_*hen 16
使用该DATEDIFF()
功能.
文档示例:
SELECT DATEDIFF('2007-12-31 23:59:59','2007-12-30');
-> 1
Run Code Online (Sandbox Code Playgroud)
小智 6
获取当前日期到目标日期之间的天数
SELECT DATEDIFF('2019-04-12', CURDATE()) AS days;
Run Code Online (Sandbox Code Playgroud)
输出
335
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
184466 次 |
最近记录: |