`
babyjoycry
  • 浏览: 153446 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

mysql中替换字符串(正则) 模糊

阅读更多
首先描述一下,我遇到的问题:
以下是数据库中的一个表mt2:
+----+------------------------------------------+
| id | name                                     |
+----+------------------------------------------+
|  1 | sdfsf<contact>beijing</contact>sldjfsld  |
|  2 | sdfsf<contact>shanghai</contact>sldjfsld |
|  3 | sdfsf<contact>jn</contact>sldjfsld       |
|  4 | sdfsf<contact>qd</contact>sldjfsld       |
+----+------------------------------------------+
遇到的要求是:将该表中<contact>到</contact>的内容删除。
众所周知,replace函数是不支持正则表达式的,所以只能采用其他的方法处理。
于是,我是使用了下面的sql语句:
update mt2 set name = replace(name, substring(name, locate('<contact>', name),locate('</contact>', name)-locate('<contact>'+10, name)),'');

问题解决了。
结果:
+----+-------------------+
| id | name              |
+----+-------------------+
|  1 | sdfsfactsldjfsld |
|  2 | sdfsfactsldjfsld |
|  3 | sdfsfactsldjfsld |
|  4 | sdfsfactsldjfsld |
+----+-------------------+

下面描述下,所用到的函数:
locate:

LOCATE(substr,str)
POSITION(substr IN str)
返回子串 substr 在字符串 str 中第一次出现的位置。如果子串 substr 在 str 中不存在,返回值为 0:

substring

SUBSTR(str,pos,len): 由<str>中的第<pos>位置开始,选出接下去的<len>个字元。

replace

replace(str1, str2, str3): 在字串 str1 中,當 str2 出現時,將其以 str3 替代。
分享到:
评论
1 楼 wwwsu 2012-04-10  
如果一条记录中存在多个<contact>*</contact> 这怎么办呢? 呵呵

相关推荐

    mysql基于正则实现模糊替换字符串的方法分析

    主要介绍了mysql基于正则实现模糊替换字符串的方法,结合具体实例对比分析了使用正则实现mysql字符串替换的注意事项与相关操作技巧,需要的朋友可以参考下

    mysql update正则替换sql语句

    主要介绍了mysql update正则替换sql语句的相关资料,需要的朋友可以参考下

    mysql 解析json字符串

    mysql解析Json字符串插件 安装方法 1、拷贝lib_mysqludf_json_parsing.dll到mysql目录C:\Program Files\MariaDB 5.5\lib\plugin下 2、在数据库中执行 DROP FUNCTION json_get; CREATE FUNCTION json_get RETURNS ...

    SqlServer类似正则表达式的字符处理问题

    SQL Serve提供了简单的字符模糊匹配功能,比如:like, patindex,不过对于某些字符处理场景还显得并不足够,日常碰到的几个问题有: 1. 同一个字符/字符串,出现了多少次 2. 同一个字符,第N次出现的位置 3. 多个...

    mysql 如何替换字符串部分信息?

    由运行结果可以看出,使用 REPLACE('aaa.mysql.com','a','w') 将“aaa.mysql.com”字符串的“a”字符替换为“w”字符,结果为“www.mysql.com”。 UPDATE name SET path = REPLACE ( name, '...

    [字符串]字符串提取(获取两个字符串中间的字符串)

    字符串提取(获取两个字符串中间的字符串) http://blog.csdn.net/isaced/archive/2011/01/24/6161259.aspx

    mysql将字符串分割成多列值

    利用mysql中提供的所有函数,组成的一个存储过程。此存储过程主要是将传入的字符串分割为多个值,单个列。

    MySQL正则表达式

    MySQL正则表达式使用方式详细解释 案例分析 资料总结规则 正则表达式 详细内容简介 学习内容 MySQL进阶必学内容

    批量替换msyql字段内容

    通过正则匹配,全量替换mysql字段中包含该正则匹配的文本

    MySql字符串相似匹配

    亲测可用,mysql字符串相似度匹配函数。下载后直接在mysql中可以测试运行。

    mysql 计算字符串相似度

    输入2个中文字符串,计算2个字符串的相似度,用于相似度排序。

    asp连接mysql字符串

    asp连接mysql字符串,使用odbc 3.51

    mysql分割字符串

    mysql分割

    MySQL 基础 - 字符串函数.md

    这个文档适用于所有MySQL数据库用户,无论您是初学者还是有经验的用户,都可以通过本文档来学习如何在MySQL中进行字符串操作和处理。通过掌握这些字符串函数的知识,您将能够更加高效地进行数据处理和查询,提升...

    mysql查询字符串替换语句小结(数据库字符串替换)

    将ubk_vhost_list表中的字段userid中的字符10005替换成10010 UPDATE `table_name` SET `field_name` = replace (`field_name`,’from_str’,’to_str’) WHERE `field_name` LIKE ‘%from_str%’ 说明: table_name ...

    mysql字符串连接函数

    MySQL中concat函数 使用方法: CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。 注意: 如果所有参数均为非二进制字符串,则结果为非二进制字符串。 如果自...

    MySql连接字符串总结

    MySql连接字符串总结 MySql连接字符串总结

    MySQL字符串操作

    MySQL字符串操作MySQL字符串操作MySQL字符串操作MySQL字符串操作MySQL字符串操作MySQL字符串操作MySQL字符串操作MySQL字符串操作

    mysql常用字符串函数、字符串处理函数大全

    mysql常用字符串函数、字符串处理函数大全。word文档内容中涵盖了mysql数据库字符串处理的38个函数。可完全满足日常对mysql数据库的字符处理操作。

Global site tag (gtag.js) - Google Analytics