2009-08-07 81 views

回答

42

TAB用ASCII码为9;你可以尝试

update tablename set columnname = replace(columnname, char(9), '') 
3

我找到了解决办法:

在T-SQL你不转义字符,粘贴或直接键入他们入引号。它适用于\ r \ n(回车,新行=您按回车)

+14

我会建议小心这一点。六个月后,你会记得所有用单引号包裹的空白空间是为了什么? – Adrien 2009-08-07 16:24:50

4

您可以在字符串中放一个制表符,只需按Tab键即可。

这将工作,但它不是很可读。

11

在我的T-SQL存储过程的开始,我经常把

Declare @nl Char(2) = char(13) + char(10) 
    Declare @tab Char(1) = char(9) 
    etc... 

然后你可以在proc的其他任何地方使用这些声明的变量没有清晰的损失......

+0

感谢你们,我分离出了​​CRLF字符,并增加了一些我们在将varchar投射到xml时遇到问题的情况: 声明'@ cr' Char(1)= char(13) 声明'@ lf' Char (1)= char(10) 声明'@ tab' Char(1)= char(9) 声明'@ pound' Char(1)= char(163) 声明'@ uScore' Char(1)= char (150) 我放弃了试图使这个评论漂亮,Markdown编辑指南指出新行的双空间,但这并不奏效! – GarethPN 2016-09-29 15:20:53

18

对于TABENTER

SELECT 
    -- TRIM 
    LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(columnname, CHAR(9), ' '), CHAR(13), ' '), CHAR(10), ' ')))