为什么在将“ 1965-05-15”之类的日期转换为TIMESTAMP时得到输出0(零)?
众所周知,借助MySQLUNIX_TIMESTAMP函数,我们可以从给定的date/DateTime产生秒数。但是,当我们尝试转换“1965-05-15”之类的日期时,由于TIMESTAMP的范围介于“1970-01-0100:00:01”到“2038-01-”之间,因此输出为0(零)。1908:44:07'。因此,超出TIMESTAMP范围的日期值将无法转换,并将始终返回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)