MySQL REPLACE() 函数



MySQL 的 REPLACE() 函数用于将给定字符串中所有出现的特定子字符串替换为另一个指定的子字符串。

此函数接受三个参数:原始字符串、要替换的子字符串以及用于替换它的子字符串。它可用于各种场景,例如替换句子中的特定单词或更新数据库中的值。

语法

以下是 MySQL REPLACE() 函数的语法:

REPLACE(str,from_str,to_str)

参数

此函数将字符串、搜索字符串和替换字符串作为参数。

返回值

此函数返回一个新字符串,其中所有出现的搜索字符串都被替换字符串替换。

示例

在下面的示例中,我们将给定字符串中出现的“Hello”替换为“Hi”:

SELECT REPLACE('Hello how are you', 'Hello', 'Hi');

以下是上述代码的输出:

REPLACE('Hello how are you', 'Hello', 'Hi')
Hi how are you

示例

如果传递给函数的任何参数为 NULL,则返回 NULL:

SELECT REPLACE('Hello how are you', 'Hello', NULL);

获得的输出如下:

REPLACE('Hello how are you', 'Hello', NULL)
NULL

示例

您还可以将数值作为此函数的第一个参数传递:

SELECT REPLACE(4125412387981236985123, 123, 000);

我们得到如下输出:

REPLACE(4125412387981236985123, 123, 000)
4125408798069850

示例

替换时,此函数执行区分大小写的匹配。如果您尝试通过更改大小写来替换子字符串,此函数会生成错误:

SELECT REPLACE('Hello how are you', HOW, 'Hi');

以下是上述代码的输出:

ERROR 1054 (42S22): Unknown column 'HOW' in 'field list'

示例

您还可以将表的列名作为此函数的参数传递,并替换其中的值部分。

让我们创建一个名为“EMP”的表,并使用 CREATE 和 INSERT 语句向其中插入记录,如下所示:

CREATE TABLE EMP(
   FIRST_NAME  CHAR(20) NOT NULL,
   LAST_NAME  CHAR(20),
   AGE INT,
   INCOME FLOAT
);

现在,让我们使用 INSERT 语句向其中插入记录:

INSERT INTO EMP VALUES 
('Krishna', 'Sharma', 19, 2000),
('Raj', 'Kandukuri', 20, 7000),
('Ramya', 'Ramapriya', 25, 5000),
('Mac', 'Mohan', 26, 2000);

获得的 EMP 表如下:

FIRST_NAME LAST_NAME AGE INCOME
Krishna Sharma 19 2000
Raj Kandukuri 20 7000
Ramya Ramapriya 25 5000
Mac Mohan 26 2000

以下查询使用 REPLACE() 函数将“FIRST_NAME”列的实体中的字符串“Krishna”替换为'$$$$$$$':

SELECT FIRST_NAME, LAST_NAME, AGE, REPLACE(FIRST_NAME, 'Krishna', '$$$$$$$') as Result 
FROM EMP;

输出

执行上述代码后,我们将获得以下输出:

FIRST_NAME LAST_NAME AGE 结果
Krishna Sharma 19 $$$$$$$ Sharma
Raj Kandukuri 20 Raj Kandukuri
Ramya Ramapriya 25 Ramya Ramapriya
Mac Mohan 26 Mac Mohan
mysql-replace-function.htm
广告