-
RISEBY
更整洁:select string = replace(replace(replace(' select single spaces',' ','<>'),'><',''),'<>',' ')输出:选择单个空格
-
拉风的咖菲猫
这将工作:declare @test varchar(100)set @test = 'this is a test'while charindex(' ',@test ) > 0begin set @test = replace(@test, ' ', ' ')endselect @test
-
月关宝盒
如果您知道一行中最多只能有一定数量的空格,则可以嵌套替换:replace(replace(replace(replace(myText,' ',' '),' ',' '),' ',' '),' ',' ')4个替换项最多可固定16个连续空格(16个,然后8个,然后4个,然后2个,然后1个)如果可能要长得多,那么您必须执行类似内联函数的操作:CREATE FUNCTION strip_spaces(@str varchar(8000))RETURNS varchar(8000) ASBEGIN WHILE CHARINDEX(' ', @str) > 0 SET @str = REPLACE(@str, ' ', ' ') RETURN @strEND然后就做SELECT dbo.strip_spaces(myText) FROM myTable
-
浮云间
update mytableset myfield = replace (myfield, ' ', ' ')where charindex(' ', myfield) > 0 替换将在所有双精度空格上起作用,而无需进行多次替换。这是基于集合的解决方案。