mysql中字符查询与替换
select * from tablename where column like "%str%"----------------------查询表中的某列里包含某str的行
update ear_bbs_threads_content set content = replace(content, substring(content, locate('[url=', content),locate('[url=',content)-locate('[/url]', content)),'')----------替换content内容里面以[url=开始并以[/url]结束之间的所有字符
update tablename set column =replace(column,'str','')-------------------替换表中某列里内容为str的字符串
update table set content=left(content,locate('str',content)+1)-----------删除表中某列里str后的内容
select trim(leading 'x' from 'xxxadminxxx')-----------------------------------删除字符串xxxadminxxx前xxx
select trim(trailing 'x' from 'xxxadminxxx')---------------------------------- -删除字符串xxxadminxxx后xxx
select trim(both 'x' from 'xxxadminxxx')---------------------------------------删除字符串xxxadminxxx前后的xxx
delete from `表` where `字段` not like '%指定字符1%'--------------------删除不包含某字符串的记录
delete from `表` where `字段` like '%指定字符1%' or like '%指定字符2%' or like '%指定字符3%'------------删除包含某字符串的记录
以下为mysql删除两字符间所有字符的测试过程,参考过程来源博客见最后备注:
update ear_bbs_threads_content set content = dbo.RegexReplace('<*>','',content,1,1);
update ear_bbs_threads_content set content =replace(content,'[url*url]','') where tid >=100 and tid <=1000
update ear_bbs_threads_content set content = replace(content, substring(content, locate('[url=', content),locate('[/url]', content)-locate('[url=',content)),'')
update ear_bbs_threads_content set content = replace(content, substring(content, locate('[url=', content),locate('[/url]', content))),'')
update ear_bbs_threads_content set content = replace(content, substring(content, locate('[url=', content),locate('[url=',content)-locate('[/url]', content)),'')
其过程详细说明为:
使用 SubString字符串截取函数
SubString(string, int, int)
返回第一个参数中从第二个参数指定的位置开始、第三个参数指定的长度的子字符串。
然后用update set即可达到删除字符串的前两个字符的效果
sql
update table set name= substring(name,3,len(name)-2);
解释:更新table表中name字段
substring(name,3,len(name)-2);表示返回从name字段的第三个字符之后的所有字符
效果就是删除前2个字符了
len(name)表示返回name字段的长度
参考地址为百度知道的:https://zhidao.baidu.com/question/588857422353045925.html