日期:2014-05-16 浏览次数:20589 次
这里先产生一些测试数据,前后中间都有多个空格:
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