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

更新于: 19-6-2020

514 次浏览

开启你的 职业生涯

完成课程,获得认证

开始
广告