朋友的问题,原文地址:http://topic.youkuaiyun.com/u/20110719/08/612e59e9-c964-471e-a659-3e8cd393fa7d.html
--如何将数据中包含的空格和回车删除
/*
Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)
Apr 2 2010 15:48:46
Copyright (c) Microsoft Corporation
Developer Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
Purpose: 优快云
Author: select left('claro',2)
Time: select convert(varchar(100),getdate(),20) = '2011-07-19 16:27:44'
*/
select * from T
/*
Code Remark
----------- --------------------
1 测试 数据。
2 不清楚这个过程 。
1 测试
数据。
(3 行受影响)
*/
--T-sql 1
select Code,REPLACE(replace(remark,CHAR(32),''),CHAR(13)+CHAR(10),'') as remark
from T
--result:
/*
Code remark
----------- --------------------------
1 测试数据。
2 不清楚这个过程。
1 测试数据。
(3 行受影响)
*/
--T-sql 2
declare @a varchar(4),@b varchar(4),@c varchar(4),@sql nvarchar(1000)
select @a=char(32),@b=char(13),@c=CHAR(10)
set @sql= 'select code,replace(replace(remark,'''+@a+''',''''),'''+@b+@c+''','''') as remark from T'
exec (@sql)
--result:
/*
Code remark
----------- --------------------------
1 测试数据。
2 不清楚这个过程。
1 测试数据。
(3 行受影响)
*/
--总结:中英文空格的ASCII值为32,而对于控制字符,制表符、换行符和回车符分别是是char(9)、char(10)和char(13)。