mysql基于正则实现模糊替换字符串的方法分析
本文实例讲述了mysql基于正则实现模糊替换字符串的方法。分享给大家供大家参考,具体如下:
例如: abcd(efg)hijk 替换之后是abcdhijk
update tabaleA set name = replace(name, substring(name, locate('<contact>', name),locate('</contact>', name)-locate('<contact>'+10, name)),'');
执行之后,报错:Truncated incorrect DOUBLE value
解决办法,经过查询发现是concat(Str,'')
函数错误问题,有的DB支持+操作符,而有的就不可以必须使用concat
函数。
将SQL修改如下:
update t_global_project set name = replace(name, substring(name, locate('<contact>', name),locate('</contact>', name)-locate(concat('<contact>','10'), name)),'');
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript
正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg
更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL常用函数大汇总》、《MySQL日志操作技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》及《MySQL数据库锁相关技巧汇总》
希望本文所述对大家MySQL数据库计有所帮助。
相关推荐
-
在MySQL中用正则表达式替换数据库中的内容的方法
PS:下面是转过来的,用于记录下,这个不是正则的初衷,只是用了REGEXP而已,正则的更灵活更方便 将comment表中的author_url包含www.sohu.com的记录,其中的sohu替换为sina,一个语句搞定~ update comment set author_url=REPLACE(author_url,'sohu','sina') where author_url REGEXP 'www.sohu.com'; 带IF判断的复杂替换 update comment set url=
-
mysql模糊查询like与REGEXP的使用详细介绍
前言 在mysql中实现模糊查询的有like和regexp.本文通过实例代码给大家详细介绍这两者的使用方法,下面来跟着小编一起学习学习吧. like模式 like意思是长得像,有两个模式:_和% _表示单个字符,通常用来查询定长的数据,如查出所有姓王的三个字的人名,假设姓名列名为name,注意"王"后面有两个_ select name from 表名 where name like '王__'; %表示0个或多个任意字符,如查出所有姓王的人名 select name from 表名 w
-
replace MYSQL字符替换函数sql语句分享(正则判断)
复制代码 代码如下: Update dede_addonsoft SET dxylink=REPLACE(dxylink, '.zip', '.rar') where aid > 45553; 复制代码 代码如下: update `table_name` set field = replace(field,'.rar','.7z'); table_name:要查询的表名, field:表里的字段名, replace(field,'.rar','.7z'); :正则匹配,把field字段里的 .r
-
mysql中如何使用正则表达式查询
基本形式 属性名 regexp '匹配方式' 正则表达式的模式字符 ^ 匹配字符开始的部分 eg1: 从info表name字段中查询以L开头的记录 select * from info where name regexp '^L'; eg2: 从info表name字段中查询以aaa开头的记录 select * from info where name regexp '^aaa'; $ 匹配字符结束的部分 eg1: 从info表name字段中查询以c结尾的记录 select * from info
-
MYSQL 批量替换之replace语法的使用详解
实际需求中,需要对某张表某字段里面的内容进行批量替换,普通的思考流程如下:SELECT出来str_replace替换UPDATE写入实际这样极其浪费资源以及消耗资源,MYSQL内置了一个批量替换的语法 复制代码 代码如下: UPDATE table SET field = replace(field,'被替换','替换成') 直接就替换了,后面也可以跟WHERE 条件语句支持多个词同时被替换 复制代码 代码如下: UPDATE table SET field = replace(field,'被
-
mysql模糊查询like和regexp小结
在mysql中实现模糊查询的有like和regexp. ------------------------ like的用法许多人都是知道的,最为常用的情况就是select * from a where name like '%a%'; 其中'%'代表的是任意个字符,它的效果像是正则表达式里的'*',它有几种用法:'a%','%a%','%a',分别表示以什么开头,存在什么以及以什么结尾. 另外也可以使用'_'字符,这表示一个任意字符.效果类似正则表达式里面的'.'. like是对这个字段里面的所有
-
MySQL中使用replace、regexp进行正则表达式替换的用法分析
本文实例讲述了MySQL中使用replace.regexp进行正则表达式替换的用法.分享给大家供大家参考,具体如下: 今天一个朋友问我,如果将数据库中查到的类似于"./uploads/110100_cityHotel_北京富豪华宾馆.jpg"这样的格式都修改为"./uploads/110100cityHotel北京富豪华宾馆.jpg"这样的格式.我本人是没有这样处理过数据的,但是我知道mysql是可以使用replace做到的,而且正则表达式也可以做到. 如何做呢?
-
MySQL中REGEXP正则表达式使用大全
以前我要查找数据都是使用like后来发现mysql中也有正则表达式了并且感觉性能要好于like,下面我来给大家分享一下mysql REGEXP正则表达式使用详解,希望此方法对大家有帮助. MySQL采用Henry Spencer的正则表达式实施,其目标是符合POSIX 1003.2.请参见附录C:感谢.MySQL采用了扩展的版本,以支持在SQL语句中与REGEXP操作符一起使用的模式匹配操作.请参见3.3.4.7节,"模式匹配". 在本附录中,归纳了在MySQL中可用于REGEXP操作
-
MySQL replace函数替换字符串语句的用法
MySQL replace函数我们经常用到,下面就为您详细介绍MySQL replace函数的用法,希望对您学习MySQL replace函数方面能有所启迪. 最近在研究CMS,在数据转换的时候需要用到mysql的MySQL replace函数,这里简单介绍一下. 比如你要将表 tb1里面的 f1字段的abc替换为def UPDATE tb1 SET f1=REPLACE(f1, 'abc', 'def'); REPLACE(str,from_str,to_str) 在字符串 str 中所有出现
-
mysql update正则替换sql语句
下面的update语句执行的是把www.test.com中的test替换为abc 程序代码 例句: Update test SET url= REPLACE('www.test.com','test', 'abc' ) Where url REGEXP www.test.com; 如果在记录中,有类似 www.test.com www.test1.com www.test2.com 要将这些记录都变成www.abc.com则执行sql语句如下 Update test SET url= REPLA
-
mysql数据库replace、regexp的用法
replace.regexp的用法 0 Comments | This entry was posted on Apr 08 2010 mysql replace用法 1.replace into replace into table (id,name) values('1′,'aa'),('2′,'bb') 此语句的作用是向表table中插入两条记录.如果主键id为1或2不存在 就相当于 insert into table (id,name) values('1′,'aa'),('2′,'bb
-
mysql中使用replace替换某字段的部分内容
最近有个朋友提到如何使用sql来删除一个字段中部分内容,于是就写了这篇文章,简单记过: 测试表如下: 复制代码 代码如下: CREATE TABLE `t` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `domain` tinytext, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 插入测试内容: 复制代码
随机推荐
- python 从远程服务器下载日志文件的程序
- Angular2 多级注入器详解及实例
- 学习javaweb如何配置Tomcat的热启动
- 5秒后跳转到另一个页面的js代码
- html+javascript+bootstrap实现层级多选框全层全选和多选功能
- 简单谈谈favicon
- JavaScript通过使用onerror设置默认图像显示代替alt
- 用正则获取指定路径文件的名称
- JavaScript中创建类/对象的几种方法总结
- 详谈PHP面向对象中常用的关键字和魔术方法
- Linux 下dmidecode查看内存条数的命令介绍
- Java,C#使用二进制序列化、反序列化操作数据
- mysql_connect localhost和127.0.0.1的区别(网络层阐述)
- JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
- Action访问Servlet的API的简单实例
- php5.4以下版本json不支持不转义内容中文的解决方法
- 老生常谈python之鸭子类和多态
- C++封装IATHOOK类实例
- 建立企业信息化 把握机遇迎新年
- django2 快速安装指南分享