2009-08-07 18 views

Odpowiedz

42

kod ASCII dla karty jest 9; można spróbować

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

znalazłem rozwiązanie:

W T-SQL nie uciec znaków, można wkleić lub wpisać je bezpośrednio w cudzysłowach. Działa nawet dla \ r \ n (powrót karetki, nowa linia = naciśnięcie klawisza Enter)

+14

Zalecam ostrożność z tym. Pół roku później, czy będziesz pamiętał, do czego służą wszystkie puste miejsca w cudzysłowach? – Adrien

4

Możesz umieścić znak tabulacji w ciągu, po prostu naciśnij klawisz tabulatora.

To zadziała, ale nie jest czytelne.

11

Na początku mojego TSQL sprocs, często umieścić

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

Następnie można użyć tych deklarowanych zmiennych w dowolnym miejscu reszty proc bez utraty jasności ...

+0

Dziękuję za to, że oddzieliłem znaki CRLF i dodałem trochę więcej, że mieliśmy problemy z tym, kiedy rzucamy varchar do xml: Deklarujemy '@ cr' Char (1) = char (13) Deklaracja' @ lf' Char (1) = char (10) Deklaracja '@ tab' Char (1) = char (9) Deklaracja' @ funta 'Char (1) = char (163) Deklaracja '@ uScore' Char (1) = char (150) Poddałem się staraniom, aby ten komentarz był ładny, wytyczne Edycji Markdown mówią podwójnie o nowej linii, ale to nie zadziałało! – GarethPN

18

Dla TAB i ENTER

SELECT 
    -- TRIM 
    LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(columnname, CHAR(9), ' '), CHAR(13), ' '), CHAR(10), ' '))) 
Powiązane problemy