我们如何将 MySQL 中的 TIME 和 DATETIME 数值转换成数字形式?
可以将 TIME(N) 和 DATETIME(N) 值转换成数字形式,方法是向这些值添加 0(+0)。以下是一些此类转换的规则 -
转换为 INTEGER
当 N 为 0 时,TIME(N) 和 DATETIME(N) 将转换为整数。
例如,CURTIME() 和 NOW() 的值可以转换为整数,如下所示 -
mysql> SELECT CURTIME(), CURTIME()+0; +-----------+-------------------+ | CURTIME() | CURTIME()+0 | +-----------+-------------------+ | 19:42:54 | 194254 | +-----------+-------------------+ 1 row in set (0.04 sec) mysql> SELECT NOW(), NOW()+0; +-------------------------+----------------------------------+ | NOW() | NOW()+0 | +-------------------------+----------------------------------+ | 2017-10-27 19:43:43 | 20171027194343 | +-------------------------+----------------------------------+ 1 row in set (0.00 sec)
转换为 DECIMAL
当 N 大于 0 时,TIME(N) 和 DATETIME(N) 将转换为整数。
例如,CURTIME() 和 NOW() 的值可以转换为十进制值,如下所示 -
mysql> SELECT CURTIME(), CURTIME(3)+0; +-----------+-------------------+ | CURTIME() | CURTIME()+0 | +-----------+-------------------+ | 19:47:40 | 194740.575 | +-----------+-------------------+ 1 row in set (0.04 sec) mysql> SELECT NOW(), NOW(3)+0; +-------------------------+----------------------------------+ | NOW() | NOW()+0 | +-------------------------+----------------------------------+ | 2017-10-27 19:48:45 | 20171027194845.589 | +-------------------------+----------------------------------+ 1 row in set (0.00 sec)
广告