CONVERT(expr USING transcoding_name)
SELECT CONVERT('test' USING utf8mb4);SELECT CONVERT(_latin1'Müller' USING utf8mb4);INSERT INTO utf8mb4_table (utf8mb4_column)SELECT CONVERT(latin1_column USING utf8mb4) FROM latin1_table;
CONVERT(string, CHAR[(N)] CHARACTER SET charset_name)CAST(string AS CHAR[(N)] CHARACTER SET charset_name)
SELECT CONVERT('test', CHAR CHARACTER SET utf8mb4);SELECT CAST('test' AS CHAR CHARACTER SET utf8mb4);
SELECT CONVERT('test' USING utf8mb4) COLLATE utf8mb4_bin;SELECT CONVERT('test', CHAR CHARACTER SET utf8mb4) COLLATE utf8mb4_bin;SELECT CAST('test' AS CHAR CHARACTER SET utf8mb4) COLLATE utf8mb4_bin;
SELECT CONVERT('test' USING utf8mb4 COLLATE utf8mb4_bin);SELECT CONVERT('test', CHAR CHARACTER SET utf8mb4 COLLATE utf8mb4_bin);SELECT CAST('test' AS CHAR CHARACTER SET utf8mb4 COLLATE utf8mb4_bin);
SELECT 'A' LIKE CONVERT(blob_col USING utf8mb4)FROM tbl_name;
SELECT 'A' LIKE CONVERT(blob_col USING utf8mb4) COLLATE utf8mb4_unicode_ciFROM tbl_name;
mysql> SET @s1 = _latin1 'abc', @s2 = _latin2 'abc';mysql> SELECT @s1 = @s2;ERROR 1267 (HY000): Illegal mix of collations (latin1_swedish_ci,IMPLICIT)and (latin2_general_ci,IMPLICIT) for operation '='
mysql> SELECT @s1 = CONVERT(@s2 USING latin1);+---------------------------------+| @s1 = CONVERT(@s2 USING latin1) |+---------------------------------+| 1 |+---------------------------------+
mysql> SET @str = BINARY 'New York';mysql> SELECT LOWER(@str), LOWER(CONVERT(@str USING utf8mb4));+-------------+------------------------------------+| LOWER(@str) | LOWER(CONVERT(@str USING utf8mb4)) |+-------------+------------------------------------+| New York | new york |+-------------+------------------------------------+
文章转载自数据库杂货铺,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




