读书人

一条话语将字段中的多个空格变成一个空

发布时间: 2012-08-30 09:55:54 作者: rapoo

一条语句将字段中的多个空格变成一个空格

这里先产生一些测试数据,前后中间都有多个空格:

DECLARE @test TABLE(stringVARCHAR(8000))

INSERT INTO @test(string)

SELECT N' 做 个 测试 'UNIONALL

SELECT N' OK '

--第一步是将左右的空格去掉

--第二不是将空格替换成空格加特殊字符,这里我是用char(11)(可以看到这个字符基本上数据是不会使用的,当然大家可以选择自己的特殊字符)

一条话语将字段中的多个空格变成一个空格

--第三步是将特殊字符去掉

---结果就是各个字符中间只有一个空格了

SELECT REPLACE(

REPLACE(

REPLACE(

LTRIM(RTRIM(string))

,' ',' '+CHAR(11)) --Changes 2 spacesto the OX model

,CHAR(11)+' ','') --Changes the XO model to nothing

,CHAR(11),'')AS NewString--Changes the remaining X's to nothing

FROM @test

WHERE CHARINDEX(' ',string)> 0

结果:

(2 row(s) affected)
NewString
-------------------------
做 个 测试
OK

(2 row(s) affected)

这种方法值得借鉴。

读书人网 >其他数据库

热点推荐