类型转换函数可以将一种数据类型转换为另外一种数据类型,如数值类型和时间类型到字符串类型的相互转换。
- 示例:时间字符串转换为时间类型
MySQL 租户中,时间字符串可以直接复制给 date 类型,MySQL 可以自动转换为时间类型,另外也可以使用 convert 或 cast 函数做类型转换。SQL语句如下:
obclient> SELECT CONVERT('2020-02-02 14:30:45', date) t1
, CONVERT('2020-02-02 14:30:45', time) t2
, CONVERT('2020-02-02 14:30:45', datetime) t3
, CAST('2020-02-02 14:30:45' AS date) t4
, CAST('2020-02-02 14:30:45' AS time) t5
, CAST('2020-02-02 14:30:45' AS datetime) t6
\G
*************************** 1. row ***************************
t1: 2020-02-02
t2: 14:30:45
t3: 2020-02-02 14:30:45
t4: 2020-02-02
t5: 14:30:45
t6: 2020-02-02 14:30:45
1 row in set (0.00 sec)
MySQL 租户中时间类型转换为字符串类型,可以使用函数 date_format。
- 示例:数值类型和字符串类型互相转换
MySQL 租户中,数值类型和字符串类型互相转换,可以用函数 convert 、cast。
obclient> SELECT convert('3.1415926', decimal) n1
, cast('3.1415926' AS decimal) n2
, convert(3.1415926, char(10)) s1
, cast(3.1414926 AS char(10)) s2
;
+------+------+-----------+-----------+
| n1 | n2 | s1 | s2 |
+------+------+-----------+-----------+
| 3 | 3 | 3.1415926 | 3.1414926 |
+------+------+-----------+-----------+
1 row in set (0.00 sec)