2012-01-19 34 views
17

Làm thế nào để bạn lấy lại toàn bộ nội dung của hàng trong SQL Server Management Studio?cách lấy toàn bộ kết quả từ SSMS

Nếu bạn sử dụng "kết quả vào lưới", dữ liệu được mã hóa, vì vậy những thứ như ngắt dòng bị mất. Nếu bạn "kết quả vào tệp" hoặc "kết quả thành văn bản" thì văn bản được giới hạn trong 8192 ký tự.

LƯU Ý: Tôi có giải pháp, nhưng tôi đang sử dụng SO để ghi lại điều này. Nếu bạn có một câu trả lời tốt hơn, hãy đăng nó.

Trả lời

0

Một trong những của DBA tại công ty của tôi đề nghị một giải pháp khả thi là để đưa các dữ liệu trong một biến tạm thời và sau đó sử dụng chức năng in trong một vòng lặp, như vậy:

DECLARE @contents varchar(MAX) 
SET @contents = '' 

SELECT  @contents = @contents + Contents + CHAR(13) 
FROM   dbo.tFOO 
WHERE  someConition 

DECLARE @tContents TABLE (id int IDENTITY, contents varchar(MAX)) 

WHILE @contents LIKE '%' + CHAR(13) + '%' 
BEGIN 
    PRINT SUBSTRING(@contents, 0, CHARINDEX(CHAR(13), @contents)) 

    SET @contents = SUBSTRING(@contents, CHARINDEX(CHAR(13), @contents)+1, LEN(@contents) - CHARINDEX(CHAR(13), @contents)) 
END 
35

tôi bỏ nó vào XML

select @variable_with_long_text 
as [processing-instruction(x)] FOR XML PATH 

bit processing-instruction ở đó để ngăn chặn nó entitising nhân vật như <-&lt;

+0

Đơn giản chỉ cần đưa nó vào xML sẽ cung cấp cho bạn tất cả các dữ liệu? Thú vị: – javamonkey79

+0

Để làm việc này đầu tiên tôi phải chọn dữ liệu cột của tôi thành một biến và sau đó thực hiện chuyển đổi XML như được mô tả – danjuggler

+0

điều này có thể được thực hiện thành một chức năng thông minh hoặc một cái gì đó mà tôi có thể nhớ –

4

tôi phát triển một add-in cho SSMS - "SSMSBoost" và gần đây đã thêm tính năng "Sao chép nội dung ô 1: 1" (có thể truy cập trong ngữ cảnh ngữ cảnh của Lưới). Nó sẽ trả lại cho bạn tất cả dữ liệu từ ô mà không có bất kỳ sửa đổi nào và không cắt xén.

2

Chỉ cần sử dụng mặc định "Kết quả cho lưới điện, sau đó nhấp chuột phải vào kết quả lưới và chọn 'Save results as ...' CSV.

Nội dung đầy đủ sẽ được lưu trong tập tin, ngay cả với ngắt dòng Một số cột VARCHAR (tối đa) có nội dung khoảng 3MB và nó đã được lưu OK, không cắt ngắn

Các vấn đề liên quan