title | aliases | summary | ||
---|---|---|---|---|
Cast 函数和操作符 |
|
Cast 函数和操作符用于将某种数据类型的值转换为另一种数据类型。TiDB 支持使用 MySQL 8.0 中提供的所有 Cast 函数和操作符。 |
Cast 函数和操作符用于将某种数据类型的值转换为另一种数据类型。TiDB 支持使用 MySQL 8.0 中提供的所有 Cast 函数和操作符。
函数和操作符名 | 功能描述 |
---|---|
BINARY |
将一个字符串转换成一个二进制字符串 |
CAST() |
将一个值转换成一个确定类型 |
CONVERT() |
将一个值转换成一个确定类型 |
注意:
TiDB 和 MySQL 对于
SELECT CAST(MeN AS CHAR)
(或者等价的SELECT CONVERT(MeM, CHAR)
)的结果显示不一致,其中MeN
是用科学计数法表示的双精度浮点数。MySQL 在-15 <= N <= 14
时显示完整数值,在N < -15
或N > 14
时显示科学计数法。而 TiDB 始终显示完整数值。例如,MySQL 对于SELECT CAST(3.1415e15 AS CHAR)
的显示结果为3.1415e15
,而 TiDB 的显示结果为3141500000000000
。
BINARY
运算符从 MySQL 8.0.27 版本起已被废弃。建议在 TiDB 和 MySQL 中都改用 CAST(... AS BINARY)
。
CAST()
函数用于将一个表达式的值转换为指定的数据类型。
此外,你还可以将该函数用于创建多值索引。
示例:
SELECT CAST(0x54694442 AS CHAR);
+--------------------------+
| CAST(0x54694442 AS CHAR) |
+--------------------------+
| TiDB |
+--------------------------+
1 row in set (0.0002 sec)
示例:
SELECT CONVERT(0x616263 USING utf8mb4);
+---------------------------------+
| CONVERT(0x616263 USING utf8mb4) |
+---------------------------------+
| abc |
+---------------------------------+
1 row in set (0.0004 sec)