数据示例:
在description_1文本后有(《焦点访谈》:blabla…)
去除方法:
update jdft_text set description_1 = replace(description_1,(reverse(substr(reverse(description_1) , instr(reverse(description_1),')')+1 , instr(reverse(description_1),'《')+1))),'')
-
表名为jdft_text
-
更改表格数据内容的sql语句:
updata 表名 set 字段名 = 新值
-
更改的是descrption_1字段,要将 (《焦点访谈》:blabla…) 替换为空白
-
接下来的任务是找到 (《焦点访谈》:blabla…)
-
用reverse将字符串翻转,这样")"就到了字符串的最前端。 其他文本+(《焦点访谈》:blabla…) 变为 :)…albalb:》谈访点焦《( +本文他其
-
substr:用来截取数据库某个字段中的一部分。语法:substr(string,start,length)。这时候要找到 )…albalb:》谈访点焦《( 在文本中的起始位置和长度。
-
instr:用来返回子字符串在原始字符串第一次出现的位置。语法:instr( 原始字符串,目标字符串)
-
故在substr中起始位置可写为
instr(reverse(description_1),')')+1
-
在substr中长度信息可根据"》"做判断:
instr(reverse(description_1),'《')+1
-
最后综合在replace里可去除()及其内容