妙用Oracle中的Replace函数替换字符串(oracle替换字符串)
Oracle中的Replace函数用于替换字符串中的指定字符串。它有两个参数:source(输入字符串)和target(用于替换源字符串)。及它可以实现从一个字符串中替换另一个字符串。可以用如下SQL语句来看一下replace函数的用法:
SELECT REPLACE (‘This is good. ‘, ‘good’, ‘amazing’) AS REPLACE_RESULT FROM DUAL;
它会把 ‘This is good. ‘ 中的“good”替换成“amazing”,输出结果为:
REPLACE_RESULT
—————-
This is amazing.
另外,replace函数还可以实现多个字符串的同时替换,假设有个表格 employee:
id | name
———-
1 | Janice
2 | Tom
3 | Jerry
我们想让name中的Janice改为Linda,Tom 改为John,Jerry改为Michelle。可以用如下SQL语句:
UPDATE employee
SET name = REPLACE (REPLACE (REPLACE (name, ‘Janice’, ‘Linda’), ‘Tom’, ‘John’), ‘Jerry’, ‘Michelle’)
WHERE id IN (1, 2, 3);
此语句将在name的字段中把Janice替换为Linda,Tom替换为John,Jerry替换为Michelle。执行persist操作之后,employee表即会变成:
id | name
———-
1 | Linda
2 | John
3 | Michelle
另外replace函数还支持正则表达式,其用法如下:
SELECT REPLACE (‘This is good.’, ‘\w+’, ‘amazing’) AS REPLACE_RESULT
FROM DUAL;
它会把 ‘This is good. ‘ 中的所有单词(由 \w+ 匹配)替换成“amazing”,输出结果为:
REPLACE_RESULT
—————-
amazing amazing amazing.
以上是Oracle中用Replace函数替换字符串的用法介绍,在使用过程中,建议大家多读读文档,用好例子练习,把效果更好的发挥出来。