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 | Result |
|---|---|---|---|
| Krishna | Sharma | 19 | $$$$$$$ Sharma |
| Raj | Kandukuri | 20 | Raj Kandukuri |
| Ramya | Ramapriya | 25 | Ramya Ramapriya |
| Mac | Mohan | 26 | Mac Mohan |
mysql-replace-function.html