MySql time 类型

好久没有好好看过mysql了,最近用到了Time类型,才发现这块貌似一直不是很熟悉。,Time值得范围是从'-838:59:59' 到'838:59:59',这个范围就足够让我颠覆了,在我的印象里貌似它一直是小于24的值,现在看起来一直都是错的,Time类型不仅可以用于表示一天的时间(必须小于24小时),还可能为某个过去的时间或两个事件的时间间隔(可以大于24小时,或者未负)

TIME列分配简写值时应注意。没有冒号,MySQL解释值时假定最右边的两位表示秒。(MySQL解释TIME值为过去的时间而不是当天的时间)例如,你可能认为'1112'1112表示'11:12:00'(11点过12),但MySQL将它们解释为'00:11:12'(11分,12 )。同样,'12'12被解释为 '00:00:12'。相反,TIME值中使用冒号则肯定被看作当天的时间。也就是说,'11:12'表示'11:12:00',而不是'00:11:12'

超出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'还是不合法的值。

 

这是官方手册的,我在这犯错了,下次不要跌倒了

 

posted @ 2013-03-14 15:54  尹少爷  阅读(28126)  评论(0编辑  收藏  举报