编辑: vax提供的解决方案是成功的,应该适用于几乎所有面临类似问题的人,因为它取代了4种不同类型的间距,而不仅仅是空格。感谢所有提供帮助的人!
我有一个给出行业名称的表,但是对于其中一个列,不同的值有重复的值。
下面是我的查询:select distinct replace(final_industry,' ','') from industryNorm
这是所产生的结果:
正如你所看到的,许多重复。看起来它们在结尾仍然有空间,但我不明白为什么,因为我运行了一个替换函数来消除它们。我还运行了一个替换程序,在任何空格的位置都放了一个\\,当我这样做的时候,后面的空格就不会出现了。为什么会这样呢?我能做什么?
有人能帮我解决这个问题吗?谢谢!
发布于 2017-06-20 14:52:38
如果你认为这个问题是由于其他空格引起的,我有一个类似的问题,有人回答了。
select distinct replace(replace(replace(replace(
final_industry
,char(9)/*tab*/,'')
,char(10)/*newline*/,'')
,char(13)/*carriage return*/,'')
,char(32)/*space*/,'')
from industryNorm发布于 2017-06-20 14:58:09
您可能会在替换函数中遇到一个非常非常老的错误。
这看起来很愚蠢,这是因为它确实如此,但是尝试将多个替换放在:
replace(replace(final_industry,' ',''), ' ','')在您的情况下,这可能没有帮助,但我曾经有过这样的情况:第一个替换没有真正正确地替换所有东西。
以下是关于为什么/如何发生这种情况的更多解释:https://www.xaprb.com/blog/2005/11/15/a-bug-in-microsoft-sql-servers-replace-function/
https://stackoverflow.com/questions/44656280
复制相似问题