SQL REPLACE() 函数

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                          |
+----+----------+-----------------------------------+

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程