MySQL - -838小时?

时间:2011-03-17 16:50:34

标签: mysql database

我正在执行此脚本:

SELECT EXTRACT(HOUR FROM TIMEDIFF('2009-12-12 13:13:13', NOW()));

我得到了:-838。这是提取时最远的MySQL吗?

2 个答案:

答案 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'或者是否违法。