MySQL Replace String Function

摘要:在本教程中,我们将向您展示如何使用 MySQL REPLACE 字符串函数将字符串中的子字符串替换为另一个子字符串。

MySQL REPLACE字符串函数简介

MySQL 为您提供了一个有用的字符串函数,称为REPLACE ,它允许您用新字符串替换表列中的字符串。

REPLACE函数的语法如下:

REPLACE(str,old_string,new_string);Code language: SQL (Structured Query Language) (sql)

REPLACE函数有三个参数。它用string中的new_string替换old_string

请注意,有一个也称为REPLACE 的语句用于插入更新数据。不应将REPLACE语句与REPLACE字符串函数混淆。

REPLACE函数非常方便地搜索和替换表中的文本,例如更新过时的 URL、更正拼写错误等。

UPDATE 语句中使用REPLACE函数的语法如下:

UPDATE tbl_name 
SET 
    field_name = REPLACE(field_name,
        string_to_find,
        string_to_replace)
WHERE
    conditions;Code language: SQL (Structured Query Language) (sql)

请注意,当搜索要替换的文本时,MySQL 使用区分大小写的匹配来搜索要替换的字符串。

MySQL REPLACE 字符串函数示例

例如,如果要更正示例数据库products表中的拼写错误,可以使用REPLACE函数,如下所示:

UPDATE products 
SET 
    productDescription = REPLACE(productDescription,
        'abuot',
        'about');Code language: SQL (Structured Query Language) (sql)

该查询查找所有出现的拼写错误abuot ,并将其替换为products表的productDescription列中的正确单词 about。

需要注意的是,在REPLACE函数中,第一个参数是不带引号(“)的列名。如果您将引号放在字段名称(例如“field_name”)中,则查询会将该列的内容更新为“field_name”,这会导致意外的数据丢失。

REPLACE函数不支持正则表达式,因此如果您需要用模式替换文本字符串,则需要使用外部库中的 MySQL 用户定义函数 (UDF),请在此处查看MySQL UDF with Regex

本教程有帮助吗?