首页 > 解决方案 > 如何删除字符串开头的所有空格?

问题描述

我有一张这样的桌子:

// posts
+----+--------------+
| id |  subject     |
+----+--------------+
| 1  |    subject 1 |
| 2  | subject 2    |
| 3  |   subject 3  |
| 4  |  subject 4   |
| 5  | subject 5    |
+----+--------------+

我需要删除subject列开头的所有空格。这是我当前的代码:

UPDATE posts set subject = REPLACE(subject, ' ', '') WHERE 1;

这是当前的结果:

+----+--------------+
| 1  | subject1     |
| 2  | subject2     |
| 3  | subject3     |
| 4  | subject4     |
| 5  | subject5     |
+----+--------------+

这是预期的结果:

+----+--------------+
| 1  | subject 1    |
| 2  | subject 2    |
| 3  | subject 3    |
| 4  | subject 4    |
| 5  | subject 5    |
+----+--------------+

看?只应删除字符串开头的空格。注意到正则表达式中有一个东西(我在 PHP 中测试过)^,这正是我正在寻找的。但我不知道我应该如何在 MySQL 中使用它。任何的想法?

标签: mysqlsql

解决方案


mysql> select ltrim('      abc');
+--------------------+
| ltrim('      abc') |
+--------------------+
| abc                |
+--------------------+

推荐阅读