首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何删除MySQL字段中的前导和尾随空格?

如何删除MySQL字段中的前导和尾随空格?
EN

Stack Overflow用户
提问于 2011-07-28 19:25:46
回答 6查看 267.2K关注 0票数 152

我有一个包含两个字段(国家/地区和ISO代码)的表:

代码语言:javascript
复制
Table1

   field1 - e.g. 'Afghanistan' (without quotes)
   field2 - e.g. 'AF'(without quotes)

在某些行中,第二个字段的开头和/或结尾有空格,这会影响查询。

代码语言:javascript
复制
Table1

   field1 - e.g. 'Afghanistan' (without quotes) 
   field2 - e.g. ' AF' (without quotes but with that space in front)

有没有办法(在SQL中)遍历表格并查找/替换field2中的空格?

EN

回答 6

Stack Overflow用户

发布于 2014-05-22 21:10:14

我从你的答案和其他链接中合成了一个通用的答案,它对我有效,我在评论中写道:

代码语言:javascript
复制
 UPDATE FOO set FIELD2 = TRIM(Replace(Replace(Replace(FIELD2,'\t',''),'\n',''),'\r',''));

等。

因为trim()不会删除所有的空格,所以最好替换掉您想要的所有空格,而不是对其进行修剪。

希望我能帮助你分享我的答案:)

票数 46
EN

Stack Overflow用户

发布于 2012-09-24 15:45:14

在使用此解决方案之前,请先了解使用案例:

执行select查询时trim不起作用

这是可行的

代码语言:javascript
复制
select replace(name , ' ','') from test;

而这个不是

代码语言:javascript
复制
select trim(name) from test;
票数 14
EN

Stack Overflow用户

发布于 2017-08-01 16:40:15

我需要修剪具有名字和姓氏的主键列中的值,所以我不想修剪所有空格,因为那样会删除名字和姓氏之间的空格,而我需要保留这些空格。对我有效的是..。

代码语言:javascript
复制
UPDATE `TABLE` SET `FIELD`= TRIM(FIELD);

代码语言:javascript
复制
UPDATE 'TABLE' SET 'FIELD' = RTRIM(FIELD);

代码语言:javascript
复制
UPDATE 'TABLE' SET 'FIELD' = LTRIM(FIELD);

请注意,第一个字段实例在单引号中,但第二个实例根本不在引号中。我必须这样做,否则它会给我一个语法错误,告诉我这是一个重复的主键,而我的两个主键都在引号中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6858143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档