SQL REPLACE() 函数
SQL REPLACE() 函数用于替换字符串中的子字符串。此方法接受三个字符串参数,将字符串的特定部分(子字符串)的所有出现替换为另一个字符串。如果此函数的任何参数为 NULL ,则在结果中返回 NULL 值。
注意 - 当用指定的字符串替换子字符串时, REPLACE() 函数不执行区分大小写的匹配。
语法
以下是 SQL REPLACE() 函数的语法:
REPLACE(str,from_str,to_str)
参数
- str - 原始字符串。
- from_str - 您想要替换的子字符串。
- to_str - 您需要替换的子字符串。
示例
在以下示例中,我们使用 REPLACE() 函数将字符串”Hello World”中所有的 ‘Hello’ 替换为 ‘Hi’ 。
SELECT REPLACE('Hello World', 'Hello', 'Hi');
输出
以下是上述查询的输出结果 −
+---------------------------------------+
| REPLACE('Hello World', 'Hello', 'Hi') |
+---------------------------------------+
| Hi World |
+---------------------------------------+
示例
您还可以向此函数传递数值。
在以下示例中,我们将数值’123012’传递给REPLACE()函数,并将’3012’替换为’4123’。
SELECT REPLACE(123012,3012,4123);
输出
以下是上述查询的输出结果 –
+---------------------------+
| REPLACE(123012,3012,4123) |
+---------------------------+
| 124123 |
+---------------------------+
示例
在替换子字符串时,此函数不区分大小写进行匹配。如果您尝试通过改变指定字符串的大小写来替换子字符串,则查询将执行而不会出错。
SELECT REPLACE('Structured query Language', 'QUERY', 'Query');
输出
以下是上述查询的输出结果-
+--------------------------------------------------------+
| REPLACE('Structured query Language', 'QUERY', 'Query') |
+--------------------------------------------------------+
| Structured Query Language |
+--------------------------------------------------------+
示例
您还可以将表的列名作为参数传递给此函数,并替换其中的部分值。假设我们已在SQL表中创建了一个名为Customers的表,如下所示 −
create table CUSTOMERS(
ID INT NOT NULL,
NAME VARCHAR(15) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(25),
SALARY DECIMAL(10, 4)
);
现在让我们使用以下的INSERT语句将 七 条记录插入到customers表中:
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES (2, 'Ramesh', 32, 'Ahmedabad', 2000.00 );
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES (3, 'Khilan', 25, 'Delhi', 1500.00 );
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES (3, 'kaushik', 23, 'Kota', 2000.00 );
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES (5, 'Chaitali', 25, 'Mumbai', 6500.00 );
以下SQL查询使用REPLACE()函数将列“Name”中实体中的字符串’Ramesh’替换为’Dinesh’:
SELECT ID, NAME, REPLACE(NAME, 'Ramesh', 'Dinesh') from CUSTOMERS;
输出
以下是上述查询的输出结果 –
+----+----------+-----------------------------------+
| ID | NAME | REPLACE(NAME, 'Ramesh', 'Dinesh') |
+----+----------+-----------------------------------+
| 1 | Ramesh | Dinesh |
| 2 | Khilan | Khilan |
| 3 | kaushik | kaushik |
| 4 | Chaitali | Chaitali |
+----+----------+-----------------------------------+