MySQL中有許多函數(shù)可以用來處理字符串,其中包括截取和替換字符串的函數(shù)。這些函數(shù)可用于數(shù)據(jù)清洗和數(shù)據(jù)轉換任務中。
下面是MySQL中常用的字符串截取函數(shù):
SUBSTRING(str, start, [length]) LEFT(str, length) RIGHT(str, length)
SUBSTRING
函數(shù)可以從字符串中提取指定長度的子字符串。參數(shù)str
為要截取的字符串,start
為開始截取的位置,length
為要截取的長度。如果省略length
參數(shù),則將從start
位置到字符串末尾截取。下面是一個例子:
SELECT SUBSTRING('abcdef', 2, 3); -- 返回 'bcd'
LEFT
和RIGHT
函數(shù)分別從字符串的左側和右側截取指定長度的字符。它們的用法類似SUBSTRING
函數(shù)。下面是一個例子:
SELECT LEFT('abcdef', 3); -- 返回 'abc' SELECT RIGHT('abcdef', 3); -- 返回 'def'
字符串替換函數(shù)常用于清洗和轉換數(shù)據(jù),下面是MySQL中的兩個字符串替換函數(shù):
REPLACE(str, from_str, to_str) INSERT(str, start, length, new_str)
REPLACE
函數(shù)可以將指定字符串替換為新的字符串。參數(shù)str
為要進行替換的字符串,from_str
為要替換的字符串,to_str
為替換后的新字符串。下面是一個例子:
SELECT REPLACE('abbc', 'b', 'x'); -- 返回 'axxc'
INSERT
函數(shù)可以在指定位置插入新的字符串。參數(shù)str
為要進行操作的字符串,start
為開始插入的位置,length
為要替換的字符數(shù),new_str
為要插入的新字符串。下面是一個例子:
SELECT INSERT('abcdef', 2, 2, 'xx'); -- 返回 'axxdef'