CAST(expression AS TYPE);
将任何类型的值转换为指定类型
目标类型可以是: BINARY CHAR DATE DATETIME TIME DECIMAL SIGNED UNSIGNED
MySQL中的默认字符集是latin1
。如果要在单列中存储多种语言的字符,可以使用Unicode
字符集,即utf8
或ucs2
。
Maxlen
列中的值指定字符集中的字符持有的字节数。一些字符集包含单字节字符,例如:latin1
,latin2
,cp850
等,而其他字符集包含多字节字符。
MySQL提供了LENGTH()
函数来获取字节的长度,以字节为单位,CHAR_LENGTH
函数用于获取字符串的长度。如果字符串包含多字节字符,则LENGTH
函数的结果大于CHAR_LENGTH()
函数的结果。
CONVERT()将指定字符串转化为指定字符集
CONVERT(字符串 USING 编码格式)
CAST()也可以转化字符集,并且同时强制改变数据类型:CAST(string AS 指定数据类型 character set 指定字符集)
当应用程序与MySQL数据库服务器交换数据时,默认字符集为latin1
。 但是,如果数据库在utf8
字符集中存储Unicode字符串,则使用应用程序中的latin1
字符集将是不够的。 因此,当连接到MySQL数据库服务器时,应用程序需要指定正确的字符集
使用 SET NAMES ‘字符集’ 可以更改字符集
无论使用哪种方式,请确保应用程序使用的字符集与存储在MySQL数据库服务器中的字符集匹配。