tôi đã cố gắngLàm thế nào để loại bỏ các ký tự vô hình trong t-sql?
UPDATE TABLENAME SET COLUMNNAME = REPLACE(COLUMNNAME, '\t', '')
Nhưng tôi không biết làm thế nào để viết TAB trong t-sql
tôi đã cố gắngLàm thế nào để loại bỏ các ký tự vô hình trong t-sql?
UPDATE TABLENAME SET COLUMNNAME = REPLACE(COLUMNNAME, '\t', '')
Nhưng tôi không biết làm thế nào để viết TAB trong t-sql
Mã ASCII cho tab là 9; bạn có thể thử
update tablename set columnname = replace(columnname, char(9), '')
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)
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.
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 ...
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
Đối TAB
và ENTER
SELECT
-- TRIM
LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(columnname, CHAR(9), ' '), CHAR(13), ' '), CHAR(10), ' ')))
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