在MySQL中,有時候需要替換一些特定的字符或者碼值,這時候可以使用MySQL提供的一些內置函數來實現。
下面我們介紹一些常用的內置函數:
REPLACE(str, from_str, to_str) -- 用to_str替換str中的所有from_str SUBSTRING(str, pos, len) -- 返回str中從第pos個字符開始長度為len的子串 ASCII(str) -- 返回str第一個字符的碼值 CHAR(num) -- 返回碼值為num的字符
舉個例子,假設我們有一個表叫做students
,其中有一個字段name
存儲了學生的名字,現在我們需要把名字中的字母a
替換成字母b
。
UPDATE students SET name = REPLACE(name, 'a', 'b');
上面的SQL語句將會把所有學生的名字中的字母a
都替換成字母b
。
還可以使用SUBSTRING
函數來替換指定位置上的字符。假設我們現在需要把所有名字中的第三個字符替換成字母c
:
UPDATE students SET name = CONCAT( SUBSTRING(name, 1, 2), 'c', SUBSTRING(name, 4) );
上面的SQL語句將會把所有學生的名字中第三個字符替換成字母c
。
最后,我們來看一下如何用ASCII
函數和CHAR
函數來替換指定的碼值。
UPDATE students SET name = REPLACE( name, CHAR(97), -- 97是字母a的碼值 CHAR(98) -- 98是字母b的碼值 );
上面的SQL語句將會把所有學生的名字中的字母a
替換成字母b
,這里使用了CHAR
函數來指定碼值。
上一篇css樣式表字體失效