MySQL 函数

MySQL CONVERT() 函数将值从一种数据类型转换为另一种数据类型,或将一种字符集转换为另一种字符集。

语法

/* 将一种数据类型转换为另一种数据类型 */
CONVERT(value, type)

/* 将一种字符集转换为另一种字符集 */
CONVERT(value USING character_set) 

参数

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将 value 转换为 BINARY 类型,即二进制字符串。
character_set必填。 指定要转换的字符集。

返回值

返回转换后的值。

转换为DATE

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

mysql> SELECT CONVERT('2018-08-18', DATE);
Result: '2018-08-31' 

转换为 DATETIME

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

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

转换为 TIME

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

mysql> SELECT CONVERT('10:38:42', TIME);
Result: '10:38:42' 

转换为 DECIMAL

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

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

转换为 CHAR

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

mysql> SELECT CONVERT(123, CHAR);
Result: '123' 

转换为 NCHAR

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

mysql> SELECT CONVERT(123, NCHAR);
Result: '123' 

转换为 SIGNED

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

mysql> SELECT CONVERT(10-20, SIGNED);
Result: -10 

转换为 UNSIGNED

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

mysql> SELECT CONVERT(10-20, UNSIGNED);
Result: 18446744073709551606 

转换为 BINARY

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

mysql> SELECT CONVERT(123, BINARY);
Result: '123' 

转换字符集

CONVERT() 函数允许您转换从一个字符集到另一个字符集的值。例如 - 在下面的示例中,"yxjc123.com"从当前字符集转换为 UTF8 字符集。

mysql> SELECT CONVERT('yxjc123.com' USING UTF8);
Result: 'yxjc123.com' 

类似地,将值"yxjc123.com"转换为 latin1 字符集,可以使用以下查询:

mysql> SELECT CONVERT('yxjc123.com' USING latin1);
Result: 'yxjc123.com'