北京SEO

MySQL的String函数locate和replace实战

2019/10/10/17:32:18  阅读:1873  来源:谷歌SEO算法  标签: Dropbox

locate(substr,str,pos)函数是返回子串 substr 在字符串 str 中第一次出现的位置,如果子串 substr 在 str 中不存在,返回值为 0,REPLACE(str,from_str,to_str)替换字串,str为源字串,from_str为将要被替换的字串,to_str为目的字串.

有关mysql中的locate函数可以查看该链接:http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_locate

有关mysql中的replace函数可以查看该链接:http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_replace

以上便是今天我们要介绍使用的两个函数.

使用背景:

条件:field_data_body 表的body_value值中有这样一个规律的字符串"/eapdomain/UserFiles/1073/File/"、"/eapdomain/UserFiles/1073/File/",其中1073是用户id。不要惊讶为什么会有这样的路径!

目的:body_value中所有的符合上述规律的字符串替换为 "/sites/default/files/old/image/","/sites/default/files/old/file/"。

难点:数据量略大4千条数据,不可能手动更改,每条数据中可能存在着不止一个这样的路径或者不存在,用户id为变动的,不能确定.

直接操作数据库吧,在Navicat中,打开你的数据库命令行工具,不限于此工具,输入以下的命令进行替换工作.

替换包含image的字符串:

  1. UPDATEfield_data_bodysetbody_value=replace(body_value,substring(body_value,locate('/eapdomain/UserFiles/',body_value),locate('/Image/',body_value)+7-locate('/eapdomain/UserFiles/',body_value)),'/sites/default/files/old/image/')--phpfensi.com

替换包含file的字符串:

  1. UPDATEfield_data_bodysetbody_value=replace(body_value,substring(body_value,locate('/eapdomain/UserFiles/',body_value),locate('/File/',body_value)+6-locate('/eapdomain/UserFiles/',body_value)),'/sites/default/files/old/file/')

能够实现该目的的方法会很多,欢迎大家在下边留言.

广告内容

MySQL的String函数locate和replace实战 MySQL的String函数locate和replace实战 MySQL的String函数locate和replace实战

相关阅读

热门评论

小明SEO博客 小明SEO博客

小明SEO博客,新时代SEO博客

总篇数171

精选文章

RMAN中catalog和nocatalog区别介绍 小技巧:为Linux下的文件分配多个权限 zimbra8.5.1安装第三方签名ssl证书的步骤 解决mysql不能远程连接数据库方法 windows服务器mysql增量备份批处理数据库 mysql中slow query log慢日志查询分析 JavaScript跨域问题总结 Linux下负载均衡软件LVS配置(VS/DR)教程 mysql中权限参数说明 MYSQL(错误1053)无法正常启动

SEO最新算法