我有一个表,其中包含句子的开头,结尾或中间可能有多余的空格。如果它在句子的开头或结尾可以使用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
只需执行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 |
+---------------------------+-------------------------------+