mysql中替换字符串(通过位置)
来源:互联网 发布:mac的系统权限 编辑:程序博客网 时间:2024/05/16 00:26
http://babyjoycry.iteye.com/blog/609276
首先描述一下,我遇到的问题:
以下是数据库中的一个表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 替代。
- mysql中替换字符串(通过位置)
- Mysql字符串中字符替换
- mysql中替换字符串(正则)
- mysql中替换字符串(正则)
- oracle中实现截取字符串(substr)、查找字符串位置(instr)、替换字符串(replace)
- oracle中实现截取字符串(substr)、查找字符串位置(instr)、替换字符串(replace)
- oracle中实现截取字符串(substr)、查找字符串位置(instr)、替换字符串(replace)
- oracle中实现截取字符串(substr)、查找字符串位置(instr)、替换字符串(replace)
- 字符串匹配替换(指定匹配位置)
- JavaScript 在字符串中替换某个位置的字符
- JavaScript 在字符串中替换某个位置的字符
- mysql中替换字符串(正则) 模糊
- mysql中替换字符串(正则) 模糊
- 字符串指定位置替换字符
- mysql 字符串部分替换
- mysql 替换字符串语句
- mysql字符串替换
- MySQL批量替换字符串
- hadoop集群添加节点
- Eclipse的Emmet插件(由源码到jar插件包)
- IOS超强表格控件GMGridView
- 关于如何计算时间复杂度的方法!
- 理解负载均衡
- mysql中替换字符串(通过位置)
- 通过fidder抓取移动端设备的数据包,来分析移动app的技术
- learning Python-Dictionaries
- 常用正则表达式
- HDU3622-Bomb Game(2-SAT+二分)
- FTP协议的工作原理
- linux i2c driver 2
- 用CSS实现超长的字符变成省略号
- POJ 2886 Who Gets the Most Candies?(线段树)