zoenbo 发表于 2020-11-3 19:31

紧急求助SQLite语句替换字符

本帖最后由 zoenbo 于 2020-11-5 00:09 编辑

下面是content表下word字段里的内容,我想用SQL语句批量替换掉“解釋 #1”之前的内容,该怎么写呢?百度遍了结果都是一样,没合适的解决方法。
目前知道用update production setspecification =replace(specification,'',' ') 这个替换,但是对替换“解釋 #1”之前的内容无从下手。在线等~~

「刻意」 (未公開)<br />解釋 #1 <br />讀音:hak1 ji3 ,haak1 ji3   <br />詞性:形容詞
「刻板」 (未公開)<br />解釋 #1 <br />讀音:haak1 baan2 ,hak1 baan2   <br />詞性:形容詞
「片刻」 (未公開)<br />解釋 #1 <br />讀音:pin3 hak1   <br />詞性:名詞
「時時刻刻」 (未公開)<br />解釋 #1 <br />讀音:si4 si4 hak1 hak1 ,si4 si4 haak1 haak1   <br />詞性:副詞

leon406 发表于 2020-11-4 22:57

本帖最后由 leon406 于 2020-11-4 23:23 编辑

https://sqlite.org/lang_corefunc.html

看了文档,可以试试下面的

UPDATE test set content =substr(content,instr(content,'解釋 #1'))
测试结果

coolcalf 发表于 2020-11-4 08:02

首先:
SELECT replace('AA23BBCC','23','')as 结果

这样的语句是有效的;

其次,也可以使用拼接
SELECTCONCAT(SUBSTRING("AA23BBCC" ,1,2), SUBSTRING("AA23BBCC" ,5,4))as 结果


我这里用的是mysql

tlf 发表于 2020-11-4 08:29

风清扬方丈 发表于 2020-11-4 09:09

你这个“解釋 #1”字符前的内容是不是固定的字数,如果是固定的可能还能处理,不是固定的估计就难了,固定的内容的话可以用1楼大佬说的SUBSTRING方式进行替换也可以,其实你最好上个图,这样大佬们就看的更清楚直白了

wyk1996 发表于 2020-11-4 09:13

导出批量修改后导入,sql对替换不怎么清楚

zoenbo 发表于 2020-11-4 10:14

风清扬方丈 发表于 2020-11-4 09:09
你这个“解釋 #1”字符前的内容是不是固定的字数,如果是固定的可能还能处理,不是固定的估计就难了,固定 ...

不是固定的 固定的还好解决些

风清扬方丈 发表于 2020-11-4 10:16

zoenbo 发表于 2020-11-4 10:14
不是固定的 固定的还好解决些

那你这个就估计只能手工操作了。看看有没有大佬能解决,到时一起学习一下

zoenbo 发表于 2020-11-4 10:16

coolcalf 发表于 2020-11-4 08:02
首先:
SELECT replace('AA23BBCC','23','')as 结果



好的 我试试 SUBSTRING好像SQLITE不支持

zoenbo 发表于 2020-11-4 10:26

coolcalf 发表于 2020-11-4 08:02
首先:
SELECT replace('AA23BBCC','23','')as 结果



大佬,刚试了 SQLite上不行的

coolcalf 发表于 2020-11-4 12:42

zoenbo 发表于 2020-11-4 10:14
不是固定的 固定的还好解决些

这些替换通常都是在程序中处理中,不是sql中
页: [1] 2
查看完整版本: 紧急求助SQLite语句替换字符