mysql - 如何在mysql查询中删除句子中的多余空格
问题描述
我有一个表格,其中包含可能在单词开头、结尾或中间有额外空格的句子。如果它在句子的开头或结尾,则可以使用 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 |
+---------------------------+-------------------------------+
推荐阅读
- c - 架构 x86_64 的未定义符号:“xxx”,引用自:_main
- javascript - 当我尝试导航到 https://website.com/index.php#section 时,它只会引导我到 index.php
- ruby-on-rails - 如何使用多个 id 查询 DynamoDB,例如:[1,2,3] #rails 中的 student_id
- sql - 如何使用 JPA 实体映射 SQL VIEW
- ignite - Apache ignite 2.7.5 的间歇性性能问题
- python - 如何检查“测试数据”的准确性并绘制它们
- python - Python - 时间序列方差分析并以不同的开始/停止时间取平均值
- php - SQLSTATE [23000]:违反完整性约束:1048 列“tempat_lahir”不能为空
- autodesk-forge - 从伪造查看器中裁剪特定的房间/区域
- flutter - How to remove scrolling glow only at one end in Flutter