mysql中替换字符串(正则) 模糊
来源:互联网 发布:淘宝助理5.8.7.0 编辑:程序博客网 时间:2024/05/19 03:18
首先描述一下,我遇到的问题:
以下是数据库中的一个表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语句:
问题解决了。
结果:
+----+-------------------+
| 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 替代。
以下是数据库中的一个表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 替代。
0 0
- mysql中替换字符串(正则) 模糊
- mysql中替换字符串(正则) 模糊
- mysql中替换字符串(正则)
- mysql中替换字符串(正则)
- js中 正则替换字符串
- java中正则模糊匹配字符串
- Java替换中使用正则表达式实现中间模糊匹配
- Mysql字符串中字符替换
- 用正则在字符串中替换
- 正则替换java字符串中的中括号
- MySql 中sql替换字符、正则表达式
- 字符串替换之正则替换
- java正则匹配替换字符串中ip格式的字符串
- mysql中替换字符串(通过位置)
- 对字符串正则替换
- 对字符串正则替换
- 正则表达式替换字符串
- js 正则替换字符串
- hdoj 3861 The King’s Problem 【有向图tarjan求SCC + 缩点 + 最小路径覆盖】
- python连接mysql
- Swift开发教程--mac os下如何保存纯文本文件
- HDU 5305 Friends (搜索+剪枝) 2015多校联合第二场
- 数值转换
- mysql中替换字符串(正则) 模糊
- 226 Invert Binary Tree
- iOS 证书、描述文件、AppID。
- Android virtual device(AVD)参数释疑
- SpringMVC template和HttpClient post提交
- leetcode:Palindrome Linked List
- 再次谈谈easyui datagrid 的数据加载
- Android开发 屏幕适配之像素密度适配
- 关于虚拟继承和直接继承