MySQL查询删除方括号之间的文本?
让我们首先创建一个表-
create table DemoTable -> ( -> Name text -> );
使用插入命令在表中插入一些记录-
insert into DemoTable values('John [John] Smith'); insert into DemoTable values('[Carol] Carol Taylor'); insert into DemoTable values('David [Miller] Miller');
使用select语句显示表中的所有记录-
select *from DemoTable;
+-----------------------+ | Name | +-----------------------+ | John [John] Smith | | [Carol] Carol Taylor | | David [Miller] Miller | +-----------------------+ 3 rows in set (0.00 sec)
以下是删除方括号之间的文本的查询-
select replace(Name,substring(Name,locate('[', Name), LENGTH(Name) -> - locate(']', reverse(Name)) - locate('[', Name) + 2), '') as Name -> from DemoTable;
这将产生以下输出-
+---------------+ | Name | +---------------+ | John Smith | | Carol Taylor | | David Miller | +---------------+ 3 rows in set (0.03 sec)