遇到一个替换问题,一个百万的数据表,需要将某列数据根据相应的编码关系替换为需要的数据,Excel表处理容易卡,最后在前辈指点之下想到了这个函数:REPLACE()。
MySQL中的REPLACE()函数是一个用于替换字符串中特定子字符串的函数。其基本语法如下:
REPLACE(str, find_string, replace_with)
str:原始字符串。
find_string:需要在原始字符串中查找并替换的部分。
replace_with:用来替换找到的字符串的新字符串。
1、多个替换
SELECT REPLACE('apple banana apple', 'apple', 'orange') AS NewString;
2、修改替换
UPDATE `data_source`
SET TERMINAL_TYPE = REPLACE (
REPLACE (
REPLACE (
REPLACE (
REPLACE (
REPLACE (
REPLACE (
REPLACE (
REPLACE ( REPLACE ( REPLACE ( REPLACE ( TERMINAL_TYPE, '22228888', '二到发' ), '282828', '28年华' ), '88888', '五个8' ), '8888', '四个8' ),
'888',
'三个8'
),
'88',
'两个8'
),
'8',
'一个8'
),
'22222',
'五个2'
),
'2222',
'四个2'
),
'222',
'三个2'
),
'22',
'两个2'
),
'2',
'一个2'
);
第一次使用这个函数,以此记录。