CONVERT() 用於不同字符集間的資料轉換,符合標準 SQL 規範。本文說明語法、範例、標準相容性、傳統模式下 '0000-00-00' 日期轉換行為。
CONVERT(expr USING transcoding_name)
transcoding_name:目標字符集名(MySQL 中轉碼名等同字符集名)-- 字串常數轉換
SELECT CONVERT(_latin1'Müller' USING utf8);
-- 表欄位轉換寫入新表
INSERT INTO utf8table (utf8column)
SELECT CONVERT(latin1field USING utf8) FROM latin1table;
CONVERT(... USING ...) 符合 SQL 標準CONVERT(expr, type)(類型轉換)為 MySQL 擴展-- 傳統模式
SELECT CONVERT('0000-00-00', DATE);
-- 結果:NULL + Warning
'0000-00-00',改用 NULL 或有效日期| 函數 | 用途 | 標準性 |
|---|---|---|
CONVERT(expr USING charset) | 字符集轉換 | 標準 SQL |
CAST(expr AS type) | 型別轉換 | 標準 SQL |
CONVERT(expr, type) | 型別轉換 | MySQL 擴展 |