MySQL MAKETIME函数
时间:2019-02-04 12:52:44 来源:igfitidea点击:
本MySQL教程通过语法和示例说明了如何使用MySQL MAKETIME函数。
描述
MySQL MAKETIME函数将返回特定小时,分钟,秒对应的时间。
语法
MySQL中MAKETIME函数的语法为:
MAKETIME( hour, minute, second )
参数 | 说明 |
---|---|
hour | 用于创建时间的小时值。 |
minute | 用于创建时间的分钟值。 |
second | 用于创建时间的秒值。 |
注意
时间值的范围是"-838:59:59"到"838:59:59"。
为什么mysql的时间,小时是838大于24?
这是因为时间类型不仅是代表一天的时间(小于24小时),还有可能是两个时间点(事件)之间相差的时间,所以还可能是负数。
在一开始的mysql版本中,在设计时间存储时 是放在3个字节中的。即不包括符号位最大为:0x7FFFFF
对应的10进制数是8388607。 为了同时方便人们阅读,根据设计,
最大的小时是838,分钟是86,秒是07。 所以最大有效的时间就是 838:59:59。当然有的数并没有被用到,比如8208888。
后面高版本的Mysql为了兼容性,依然硬性规定了小时最大是838:
/* Limits for the TIME data type */ #define TIME_MAX_HOUR 838 #define TIME_MAX_MINUTE 59 #define TIME_MAX_SECOND 59
示例
MySQL MAKETIME函数示例
mysql> SELECT MAKETIME(11,28,1); 结果: '11:28:01' mysql> SELECT MAKETIME(14,31,0); 结果: '14:31:00' mysql> SELECT MAKETIME(23,59,59); 结果: '23:59:59' mysql> SELECT MAKETIME(838,59,59); 结果: '838:59:59' mysql> SELECT MAKETIME(-838,59,59); 结果: '-838:59:59'