当我尝试将“1965-05-15”这样的日期格式转换为时间戳时,为什么输出为0(零)?
众所周知,我们可以利用MySQL UNIX_TIMESTAMP函数,生成给定日期/日期时间中所包含的秒数。但是,当我们尝试转换“1965-05-15”这样的日期时,它会输出0(零),因为TIMESTAMP的范围在“1970-01-01 00:00:01”到“2038-01-19 08:44:07”之间。因此,超出手戳范围的日期值无法转换,并且始终会输出0。
以下给出示例:
mysql> Select UNIX_TIMESTAMP ('1965-05-15'); +----------------------------------------------+ | unix_timestamp('1965-05-15 05:04:30') | +----------------------------------------------+ | 0 | +----------------------------------------------+ 1 row in set (0.00 sec) mysql> select UNIX_TIMESTAMP ('1970-05-15 05:04:30'); +----------------------------------------------+ | unix_timestamp('1970-05-15 05:04:30') | +----------------------------------------------+ | 11576070 | +----------------------------------------------+ 1 row in set (0.00 sec)
广告