📅  最后修改于: 2023-12-03 14:44:56.460000             🧑  作者: Mango
在 Oracle 数据库中,可以使用 REPLACE
函数进行字符串替换操作。
REPLACE(string, old_string, new_string)
参数说明:
string
:需要进行替换操作的字符串。old_string
:要被替换的子字符串。new_string
:用于替换的新字符串。假设有如下表:
CREATE TABLE employees (
id NUMBER(10) PRIMARY KEY,
first_name VARCHAR2(50),
last_name VARCHAR2(50),
email VARCHAR2(100)
);
INSERT INTO employees VALUES (1, 'John', 'Doe', 'john@mail.com');
INSERT INTO employees VALUES (2, 'Jane', 'Doe', 'jane@mail.com');
INSERT INTO employees VALUES (3, 'Bob', 'Smith', 'bob@mail.com');
现在我们想要将 email 字段中的 "@mail.com" 替换为 "@example.com",可以使用以下 SQL:
UPDATE employees SET email = REPLACE(email, '@mail.com', '@example.com');
执行该 SQL 后,email 字段中的值会被相应地替换为新的字符串。
REPLACE
函数是区分大小写的。
REPLACE
函数在替换操作时,会把所有匹配上的子字符串全部替换掉。比如,如果将 "hello world" 中的 "o" 替换为 "a",结果就会变成 "hella warld",而不是 "hella world"。
REPLACE
函数可以同时替换多个子字符串。比如,可以使用以下 SQL 将 "hello world" 中的 "o" 和 "l" 都替换为 "a":
SELECT REPLACE(REPLACE('hello world', 'o', 'a'), 'l', 'a') FROM dual;