📅  最后修改于: 2023-12-03 15:17:45.656000             🧑  作者: Mango
MySQL Convert()
函数用于将一个表达式转换为特定的数据类型或字符集。
CONVERT(expr,type)
CONVERT(expr USING transcoding_name)
参数说明:
expr
: 必需,要转换的表达式。type
: 可选,要转换的数据类型。transcoding_name
: 可选,要转换的字符集名称。注意:在MySQL中,CONVERT()
函数实际上是两个不同的函数,具体取决于参数列表中传递的参数。如果只传递了两个参数,则使用第一种语法,即将表达式转换为指定的数据类型;如果传递了三个参数,则使用第二种语法,即将表达式转换为指定的字符集。
CONVERT()
函数支持以下数据类型:
BINARY[(N)]
: 将一个字符串转换为一个二进制字符串,如果没有指定长度,将返回整个字符串的长度。CHAR[(N)]
: 将一个表达式转换为一个固定长度的字符串,如果没有指定长度,将返回最长的可能长度,不包括后置空格的任何字节。DATE
, DATETIME
, TIME
: 将一个时间或日期表达式转换为指定的格式。DECIMAL[(M[,D])]
: 将一个表达式转换为一个固定精度的十进制数,M
指定最大允许数字的总数,包括小数点前的数字和小数点后的数字,D
指定小数点后的精度。SIGNED [INTEGER]
, UNSIGNED [INTEGER]
: 将一个表达式转换为有符号或无符号的整数,INTEGER
可选,指定转换结果的数据类型。NCHAR[(N)]
, NVARCHAR[(N)]
: 将一个表达式转换为固定长度或可变长度的Unicode字符串,类似于 CHAR
和 VARCHAR
。REAL
, DOUBLE PRECISION
, FLOAT[(M,D)]
: 将一个表达式转换为实数数据类型,M
指定有效数字的总数,D
指定小数点后的位数。CONVERT()
函数支持以下字符集:
BINARY[(N)]
: 将一个字符串或二进制字符串转换为二进制字符串。CHAR[(N)]
: 将一个字符串转换为指定的字符集。DATE
, DATETIME
, TIME
: 将一个时间或日期表达式按指定字符集转换为字符串。NCHAR[(N)]
, NVARCHAR[(N)]
: 将一个Unicode字符集的字符串转换为另一种Unicode字符集的字符串。SELECT CONVERT('Hello World', BINARY);
输出结果:
48656C6C6F20576F726C64
SELECT CONVERT('Hello World', CHAR(20));
输出结果:
Hello World
SELECT CONVERT('2022-02-14', DATE);
输出结果:
2022-02-14
SELECT CONVERT('Hello World', NCHAR);
输出结果:
H e l l o W o r l d
SELECT CONVERT('Hello World', NVARCHAR) USING utf8;
输出结果:
Hello World