如何在mysql的表中的字段中删除内容中包含的指定字符串?

来源:百度知道 编辑:UC知道 时间:2024/05/28 06:04:16
例如:123456[abcdef]123453.abc 如何删除中括号中的字符串?中括号中字符串长度不等,内容也不同,在这个字段中的前后位置也不同

在mysql中使用 update 语句配合 replace() 函数可以将表中指定字段中的指定字符串进行删除

例:

将表 table 中的 column 字段中包含的 aa 字符串删除,可以使用下面语句

update talbe set column = replace(column,'aa','')

UPDATE 表名 SET 字段名=CONCAT(LEFT(字段名,INSTR(字段名,'[')-1),RIGHT(字段名,LENGTH(字段名)-INSTR(字段名,']')))
WHERE INSTR(字段名,'[')>0 AND INSTR(字段名,']')>INSTR(字段名,'[')

看得懂吧:
INSTR(字段名,'[')表示字段里面[的位置,条件部分是必须有[,而且]的位置在[之后

替换的表达式是用LEFT和RIGHT取出[之前和]之后的内容,然后用CONCAT函连接起来