MySQL 函数

MySQL CAST() 函数将值从一种数据类型转换为另一种数据类型。

语法

CAST(value AS type) 

参数

value必填。 指定要转换的值。
type必填。 指定要转换为的数据类型。 它可以是以下之一:

描述
DATE将值转换为 DATE 类型,该类型仅包含日期部分。 格式为“YYYY-MM-DD”。
支持的范围为“1000-01-01”到“9999-12-31”。
DATETIME将值转换为 DATETIME 类型,该类型同时包含日期和时间部分。 格式为“YYYY-MM-DD HH:MM:SS”。
支持的范围为“1000-01-01 00:00:00”到“9999-12-31 23:59:59”。
TIME将值转换为TIME类型,该类型只有时间部分。 格式为“HH:MM:SS”。
支持的范围为“-838:59:59”到“838:59:59”。
DECIMAL将值转换为 DECIMAL 类型。 可选参数M和D可用于指定最大位数(M)和小数点后的位数(D)。
CHAR将值转换为CHAR类型,即固定长度的字符串。
NCHAR将值转换为NCHAR类型。 它类似于 CHAR,但生成具有国家字符集的字符串。
SIGNED将值转换为 SIGNED 类型,这是有符号的 64 位
UNSIGNED将值转换为 UNSIGNED 类型,即无符号 64 位整数。
BINARY将值转换为BINARY类型,即二进制字符串。

返回值

返回转换后的值。

转换为DATE

CAST() 函数可用于将值转换为 DATE 类型。例如 - 在下面的示例中,"2018-08-18"被转换为 DATE 数据类型。

mysql> SELECT CAST('2018-08-18' AS DATE);
Result: '2018-08-31' 

转换为 DATETIME

CAST()函数可用于将值转换为 DATETIME 类型。例如 - 在下面的示例中,"2018-08-18 10:38:42"将转换为 DATETIME 数据类型。

mysql> SELECT CAST('2018-08-18 10:38:42' AS DATETIME);
Result: '2018-08-18 10:38:42' 

转换为 TIME

CAST( ) 函数可用于将值转换为 TIME 类型。例如 - 在下面的示例中,"10:38:42"被转换为 TIME 数据类型。

mysql> SELECT CAST('10:38:42' AS TIME);
Result: '10:38:42' 

转换为 DECIMAL

CAST()函数可用于将值转换为 DECIMAL 类型。例如 - 在下面的示例中,"123.456"转换为 DECIMAL 数据类型。

mysql> SELECT CAST('123.456' AS DECIMAL(5, 2));
Result: 123.46 

转换为 CHAR

可以使用 CAST() 函数将值转换为 CHAR 类型。例如 - 在下面的示例中,123 被转换为 CHAR 数据类型。

mysql> SELECT CAST(123 AS CHAR);
Result: '123' 

转换为 NCHAR

CAST() 函数可用于转换NCHAR 类型的值。例如 - 在下面的示例中,123 被转换为 NCHAR 数据类型。

mysql> SELECT CAST(123 AS NCHAR);
Result: '123' 

转换为 SIGNED

CAST() 函数可用于转换SIGNED 类型的值。例如 - 在下面的示例中,10-20 转换为 SIGNED 数据类型。

mysql> SELECT CAST(10-20 AS SIGNED);
Result: -10 

转换为 UNSIGNED

可以使用 CAST() 函数将值转换为 UNSIGNED 类型。例如 - 在下面的示例中,10-20 转换为 UNSIGNED 数据类型。

mysql> SELECT CAST(10-20 AS UNSIGNED);
Result: 18446744073709551606 

转换为 BINARY

可以使用 CAST() 函数将值转换为 BINARY 类型。例如 - 在下面的示例中,123 转换为 BINARY 数据类型。

mysql> SELECT CAST(123 AS BINARY);
Result: '123'