2009-08-07 57 views

Trả lời

42

Mã ASCII cho tab là 9; bạn có thể thử

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

Tôi tìm thấy giải pháp:

Trong T-SQL bạn không thoát khỏi nhân vật, bạn dán hoặc gõ trực tiếp vào dấu ngoặc kép. Nó hoạt động ngay cả đối với \ r \ n (vận chuyển trở lại, dòng mới = bạn nhấn enter)

+14

Tôi khuyên bạn nên thận trọng với điều này. Sáu tháng xuống dòng, bạn sẽ nhớ tất cả những khoảng trống được bao bọc trong dấu nháy đơn là gì? – Adrien

4

Bạn có thể đặt ký tự tab trong chuỗi, chỉ cần nhấn phím tab.

Điều đó sẽ hiệu quả nhưng không thể đọc được.

11

Vào đầu TSQL SPROCS của tôi, tôi thường đưa

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

Sau đó, bạn có thể sử dụng các biến tuyên bố bất cứ nơi nào trong phần còn lại của proc mà không làm mất độ rõ nét ...

+0

Cảm ơn điều này, tôi tách ra các ký tự CRLF và thêm một số chi tiết mà chúng tôi đã gặp vấn đề khi đúc một varchar để xml: Khai báo '@ cr' Char (1) = char (13) Khai báo' @ lf' Char (1) = char (10) Khai báo '@ tab' Char (1) = char (9) Khai báo' @ pound' Char (1) = char (163) Khai báo '@ uScore' Char (1) = char (150) Tôi đã từ bỏ cố gắng để làm cho bình luận này đẹp, các hướng dẫn chỉnh sửa Markdown nói không gian đôi cho một dòng mới, nhưng điều đó đã không làm việc! – GarethPN

18

Đối TABENTER

SELECT 
    -- TRIM 
    LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(columnname, CHAR(9), ' '), CHAR(13), ' '), CHAR(10), ' '))) 
Các vấn đề liên quan