朋友的問題,原文地址:http://topic.csdn.net/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: CSDN
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)。