将一列中的空格 (" ") 替换为没有空格 ("")

Uch*_*sun 10 mysql string-manipulation

我有一张这样的表:

身份证 | 普罗平西 | 哥打 |
_________________________
 1 | 亚齐 | 登巴萨
 2 | 亚齐 | 班达亚齐
 3 | 苏门答腊 | 阿萨汉

这个表有很多行。问题是我想Kota为所有行替换列中文本之前的空格,如下所示:

身份证 | 普罗平西 | 哥打 |
_________________________
 1 | 亚齐|登巴萨
 2 | 亚齐|班达亚齐
 3 | 苏门答腊|阿萨汉

我搜索了谷歌,replaceMySQL中的功能只影响一行:

SELECT REPLACE(string_column, 'search', 'replace') as Kota
Run Code Online (Sandbox Code Playgroud)

有人可以解决我的问题吗?

小智 19

尝试这个:

无空格显示:

select trim(kota) from yourtable
Run Code Online (Sandbox Code Playgroud)

要更改您的数据:

update yourtable set kota = trim(kota);
Run Code Online (Sandbox Code Playgroud)

TRIM功能不同REPLACEREPLACE替换所有出现的字符串;TRIM仅删除字符串开头和结尾的空格。

如果您只想从一开始就删除,则可以LTRIM改用。最后只有你可以使用RTRIM.


小智 7

在 mysql 中运行新查询

select REPLACE(kota,' ','') from table-name
Run Code Online (Sandbox Code Playgroud)

这将显示从列中修剪空格并更新后的结果

update table-name set kota = REPLACE(kota,' ','')
Run Code Online (Sandbox Code Playgroud)

节省。

  • 提问者只想“为所有行替换 Kota 列上的空格 berfore 文本”。您的解决方案将替换所有空格,而不仅仅是前导空格。 (2认同)