CONVERT(expr USING transcoding_name)
SELECT CONVERT(_latin1'Müller' USING utf8);
介紹符 `_latin1` 聲明字面量原編碼,轉為 UTF-8。
INSERT INTO utf8_table (utf8_col)
SELECT CONVERT(latin1_col USING utf8) FROM latin1_table;
將 `latin1_table` 的數據轉碼寫入 `utf8_table`。
`CONVERT(... USING ...)` 符合 **標準 SQL 規範**,跨資料庫可移植性優於 `CAST()`。
| 特性 | CONVERT(expr USING charset) | CAST(expr AS type) |
|---|---|---|
| 主要用途 | 字符集編碼轉換 | 數據類型轉換 (INT, DATE, CHAR...) |
| 標準 | SQL 標準 | SQL 標準 |
| 字符集轉換 | ✅ 原生支援 | ❌ 需配合 CHARSET 子句 |