我正在执行此脚本:
SELECT EXTRACT(HOUR FROM TIMEDIFF('2009-12-12 13:13:13', NOW()));
我得到了:-838。这是提取时最远的MySQL吗?
答案 0 :(得分:3)
您可以通过解决方法克服此限制
select
datediff(now(),'2009-12-12 13:13:13') * 24
+ extract(hour from now())
- extract(hour from '2009-12-12 13:13:13') as hour_diff
答案 1 :(得分:2)
这确实是TIME
type.
默认情况下,位于TIME范围之外但在其他方面合法的值会被剪切到范围的最近端点。例如,' - 850:00:00'和'850:00:00'被转换为'-838:59:59'和'838:59:59'。非法TIME值将转换为'00:00:00'。请注意,因为'00:00:00'本身是合法的TIME值,所以无法从表中存储的'00:00:00'值中判断原始值是否指定为'00: 00:00'或者是否违法。