如何在 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)
广告