在SQL Server 2008中删除字符串中的所有空格的最佳方法是什么?

LTRIM(RTRIM(' a b '))将删除字符串右侧和左侧的所有空格,但我还需要删除中间的空格。


当前回答

替换特定字符的语法:

REPLACE ( string_expression , string_pattern , string_replacement )  

例如,在字符串“HelloReplaceThingsGoing”中,替换词被How替换

SELECT REPLACE('HelloReplaceThingsGoing','Replace','How');
GO

其他回答

取代()函数:

REPLACE(field, ' ', '')
replace(replace(column_Name,CHAR(13),''),CHAR(10),'')

100%的工作

UPDATE table_name SET  "column_name"=replace("column_name", ' ', ''); //Remove white space

UPDATE table_name SET  "column_name"=replace("column_name", '\n', ''); //Remove newline

UPDATE table_name SET  "column_name"=replace("column_name", '\t', ''); //Remove all tab

可以使用“column_name”或“column_name”

谢谢

Subroto

只是一个提示,以防您在使用replace函数时遇到麻烦,您可能会将数据类型设置为nchar(在这种情况下,它是一个固定的长度,它将不起作用)。

这是去除字符串上的空格的技巧:

UPDATE
    tablename
SET
    columnname = replace(columnname, ' ', '');