我有一个包含两个字段(国家/地区和ISO代码)的表:
Table1
field1 - e.g. 'Afghanistan' (without quotes)
field2 - e.g. 'AF'(without quotes)
在某些行中,第二个字段的开头和/或结尾有空格,这会影响查询。
Table1
field1 - e.g. 'Afghanistan' (without quotes)
field2 - e.g. ' AF' (without quotes but with that space in front)
有没有办法(在SQL中)遍历表格并查找/替换field2中的空格?
发布于 2014-05-22 21:10:14
我从你的答案和其他链接中合成了一个通用的答案,它对我有效,我在评论中写道:
UPDATE FOO set FIELD2 = TRIM(Replace(Replace(Replace(FIELD2,'\t',''),'\n',''),'\r',''));
等。
因为trim()不会删除所有的空格,所以最好替换掉您想要的所有空格,而不是对其进行修剪。
希望我能帮助你分享我的答案:)
发布于 2012-09-24 15:45:14
在使用此解决方案之前,请先了解使用案例:
执行select查询时trim不起作用
这是可行的
select replace(name , ' ','') from test;
而这个不是
select trim(name) from test;
发布于 2017-08-01 16:40:15
我需要修剪具有名字和姓氏的主键列中的值,所以我不想修剪所有空格,因为那样会删除名字和姓氏之间的空格,而我需要保留这些空格。对我有效的是..。
UPDATE `TABLE` SET `FIELD`= TRIM(FIELD);
或
UPDATE 'TABLE' SET 'FIELD' = RTRIM(FIELD);
或
UPDATE 'TABLE' SET 'FIELD' = LTRIM(FIELD);
请注意,第一个字段实例在单引号中,但第二个实例根本不在引号中。我必须这样做,否则它会给我一个语法错误,告诉我这是一个重复的主键,而我的两个主键都在引号中。
https://stackoverflow.com/questions/6858143
复制相似问题