在UNIX_TIMESTAMP()或FROM_UNIXTIME()函数中传递超出范围的值时,将返回什么MySQL?

当我们在UNIX_TIMESTAMP中传递超出范围的值时,MySQL返回0。该值的有效范围与TIMESTAMP数据类型的范围相同。

示例

mysql> Select UNIX_TIMESTAMP('1969-01-01 04:05:45');
+---------------------------------------+
| UNIX_TIMESTAMP('1969-01-01 04:05:45') |
+---------------------------------------+
|                         0             |
+---------------------------------------+
1 row in set (0.00 sec)

当我们在FROM_UNIXTIME中传递超出范围的值时,MySQL返回NULL。值的有效范围与INTEGER数据类型相同。

示例

mysql> Select FROM_UNIXTIME(2147483648);
+---------------------------+
| FROM_UNIXTIME(2147483648) |
+---------------------------+
| NULL                      |
+---------------------------+
1 row in set (0.00 sec)
猜你喜欢