📜  oracle 字符串替换 - SQL (1)

📅  最后修改于: 2023-12-03 14:44:56.460000             🧑  作者: Mango

Oracle 字符串替换 - SQL

在 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;