引用 17 楼 wwwwb 的回复:对, %,rs81,% 也无法用到索引 这个我知道
对, %,rs81,% 也无法用到索引
比较低,函数无法用到索引
如果你的目的是查询,你可以用rs81与,;组合取匹配,可以不用replace。 例如SQL code?1234567SELECT * FROM ( SELECT 'aaa,cc,dd' AS M UNION SELECT 'aaa,ccd,dd' AS M UNION SELECT 'aaa,cc;dd' AS M UNION SELECT 'aaa,cc' AS M ……
select * from tt where instr(concat(',',Depart_admin,','),',rs81,')>0
SELECT * FROM ( SELECT 'aaa,cc,dd' AS M UNION SELECT 'aaa,ccd,dd' AS M UNION SELECT 'aaa,cc;dd' AS M UNION SELECT 'aaa,cc' AS M ) tmp WHERE M REGEXP '(^cc,)|(^cc;)|(,cc,)|(,cc;)|(;cc,)|(;cc;)|(,cc$)|(;cc$)'
引用 3 楼 Java_Tomcat 的回复:引用 1 楼 wwwwb 的回复:update tt set depart_admin=replace(depart_admin,'manager,','') 你这个我也想到了,但是有个问题:如果depart_admin列中存在'manager,rs81'按照这种方式替换了之后该列的值就是',rs81'这不是还的去掉',……
引用 1 楼 wwwwb 的回复:update tt set depart_admin=replace(depart_admin,'manager,','') 你这个我也想到了,但是有个问题:如果depart_admin列中存在'manager,rs81'按照这种方式替换了之后该列的值就是',rs81'这不是还的去掉','?
你可以把manager和,以及;的组合列出来,多层replace
select replace(depart_admin,'','manager,rs81') from tb
update tt set depart_admin=replace(depart_admin,'manager,','')
56,940
社区成员
56,758
社区内容
加载中
试试用AI创作助手写篇文章吧