如何在 MySQL 中将 TIME 和 DATETIME 值转换为数字形式?

mysqlmysqli database

将 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)

相关文章