您的位置 首页 php

替换某字段中的特定字符串——MySQL REPLACE 与INSERT 函数详解

d5635e31236643ea9b8a23b2e20cf55b

MySQL提供了一个非常实用的 字符串函数 —— REPLACE() 函数 ,它允许用 新的 字符串 替换字段中的特定字符串 ,而不再需要自己写函数去替换,用起来非常的方便。

REPLACE() 函数语法

da11d193656b43348cba8ff5cc8c4a8c

需要注意的是,My SQL 中也有一个 叫作 REPLACE的语句, 它用于插入或更新数据,使用 REPLACE语句 写入一条记录时, 如果发现表中已经有此行数据(根据 主键 或者唯一索引判断)则先删除此行数据,然后插入新的数据,否则,直接插入新数据。

因此不要将 REPLACE语句 与这里的 REPLACE()函数 混淆,在文中末尾附REPLACE语句介绍文章链接。


REPLACE()函数

REPLACE() 函数中有三个参数,它 将 string 中的 old_string 替换为new_string 字符串

REPLACE() 函数能够帮助我们非常方便的替换字段中的文本,比如更新失效的URL,纠正拼写错误等。

7d629d42662b4fc9a5131f06921e57bb

如上, url_information 表中Tony 的url链接已经失效,我们需要将Tony的url中的 mp 替换为 www ,在UPDATE语句中使用 REPLACE()函数 的语法如下:

3d9f0a7705a24c58bde98541f4f50150

执行结果如下:

cbd46f6dd4b5459f891a86f536f1d210


这里我们再额外了解下另一个被用作替换字符串的函数——MySQL INSERT()函数

INSERT() 函数语法

813a0f6a9fea456980d58baac0511fbb

INSERT() 函数返回字符串 s1,子字符串起始于 x 位置,被字符串s2取代len个字符。

62c84092c43243b7acdd0d146a5e18f8

接下来,我们使用如上 url_information 表来体验一下 INSERT()函数,如下:

dc2eaeb6e2154f99b59d0141c661ba85

执行上述三条SQL,结果如下:

c70f79959e0c40d5abd6d11c8312badd

我们结合如上执行结果,来了解一下INSERT() 函数的用法:

  • 第一个函数 INSERT(url,5,7,’baidu’)将从url字段第 5 个字符开始长度为 7 的字符串替换为 ‘baidu’。
  • 第二个函数 INSERT(url,-1,4,’baidu’) 中的起始位置 -1 超出了字符串长度, 直接返回原字符串
  • 第三个函数 INSERT(url,5,20,’baidi’) 替换长度超出了原字符串长度,则从第 5 个字符开始,截取后面所有的字符,并替换为指定字符 ‘baidu’。

REPLACE语法介绍:

文章来源:智云一二三科技

文章标题:替换某字段中的特定字符串——MySQL REPLACE 与INSERT 函数详解

文章地址:https://www.zhihuclub.com/77119.shtml

关于作者: 智云科技

热门文章

网站地图