如何在mysql查询中删除句子中的多余空格

问题描述 投票:0回答:1

我有一个表,其中包含句子的开头,结尾或中间可能有多余的空格。如果它在句子的开头或结尾可以使用TRIM函数删除,但是我该如何在单词之间进行检查以删除多余的空格并只留下一个

create table messages(sent varchar(200), verif int);
insert into messages values
   ('Hi how are you alex ', null),
   (' Hi alex how are you ', null),
   ('  Hi  alex  how  are    you  ', null);

select * from messages;

UPDATE messages set sent = TRIM(sent);

select * from messages;

这里有一个演示,可以更好地了解我的情况Table Demo

mysql string phpmyadmin trim
1个回答
0
投票

只需执行REGEX_REPLACE,类似于以下内容:

select sent,REGEXP_REPLACE(sent,' +',' ') from messages;

应该产生:

+---------------------------+-------------------------------+
| sent                      | REGEXP_REPLACE(sent,' +',' ') |
+---------------------------+-------------------------------+
| Hi how are you alex       | Hi how are you alex           |
| Hi alex how are you       | Hi alex how are you           |
| Hi  alex  how  are    you | Hi alex how are you           |
+---------------------------+-------------------------------+
© www.soinside.com 2019 - 2024. All rights reserved.