Lưu kết quả với các tiêu đề trong Sql Server Management Studio


183

Tôi đang sử dụng SQL Server Management Studio.

Tôi muốn lưu kết quả của một truy vấn vào một tệp excel.

Tôi chọn "lưu dưới dạng" và sau đó lưu vào tệp CSV mà tôi có thể mở trong excel. Tất cả đều tốt ngoại trừ tôi đang thiếu tiêu đề cột, có ý tưởng nào để tôi xuất chúng không?

Câu trả lời:


273

Tools> Options> Query Results> SQL Server> Results to Text (or Grid if you want)>Include columns headers in the result set

Bạn có thể cần phải đóng và mở lại SSMS sau khi thay đổi tùy chọn này.

Trên Thanh công cụ SQL Editor, bạn có thể chọn lưu vào tệp mà không phải khởi động lại SSMS


35
+1, Đã kiểm tra cái này và nó hoạt động: Công cụ -> Tùy chọn -> Kết quả truy vấn -> Máy chủ SQL -> Kết quả vào lưới, sau đó kiểm tra 'Bao gồm các tiêu đề cột khi sao chép hoặc lưu kết quả'.
Jeff Ogata

46
Điều này hoạt động cho SSMS 2012 - bạn cần phải khởi động lại SSMS để các cài đặt có hiệu lực.
SliverNinja - MSFT

17
Để xác nhận, bạn chắc chắn cần phải đóng và mở lại SSMS để tùy chọn này được áp dụng.
Christopher King

8
Giống như Christopher đã nói, bạn cần khởi động lại SSMS để các thay đổi hoạt động.
Cướp

8
Đối với SSMS 2016, bạn vẫn cần khởi động lại để những thay đổi này có hiệu lực.
Chris Haas

36

Hãy thử Trình hướng dẫn Xuất khẩu. Trong ví dụ này tôi chọn cả một bảng, nhưng bạn có thể dễ dàng chỉ định một truy vấn:

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

(bạn cũng có thể chỉ định một truy vấn ở đây)

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây


4
Cảm ơn vì điều đó. Nhưng đây là cho bảng. Câu hỏi của tôi là cho một truy vấn.
dublintech

1
Bạn cũng có thể chỉ định truy vấn trong bước thứ tư - "Chỉ định sao chép bảng hoặc truy vấn".
John Dewey

Tôi đã thử tất cả các cách tiếp cận khác và đây là cách duy nhất phù hợp với kiểu dữ liệu hỗn hợp của tôi.
DOK

3
Trong khi điều này hoạt động nó rất đau đớn và tốn thời gian. SQL Server và Excel đều là sản phẩm của MS, thật đáng kinh ngạc khi không có nút xuất đơn giản nào trong năm 2013!
Andre

34

Một khả năng khác là sử dụng bảng tạm để sao chép và dán kết quả trực tiếp vào Excel. Chỉ cần cẩn thận với các cột Excel loại chung, vì đôi khi chúng có thể có kết quả không thể đoán trước, tùy thuộc vào dữ liệu của bạn. CTL-Abất cứ nơi nào trong lưới kết quả, và sau đó nhấp chuột phải:

nhập mô tả hình ảnh ở đây

Nếu bạn gặp rắc rối với định dạng chung của Excel khi thực hiện chuyển đổi không mong muốn, hãy chọn các cột trống trong Excel trước khi bạn dán và thay đổi định dạng thành "văn bản".


Điều này thật tuyệt, ngoại trừ định dạng Excel. Các số có số 0 đứng đầu (ví dụ số di động) thả số không trong Excel. Có những vấn đề định dạng khác nằm trong chờ đợi, sử dụng ở mức nguy hiểm của riêng bạn. Cảm ơn Microsoft!
e_i_pi

12

Ít nhất trong SQL Server 2012, bạn có thể nhấp chuột phải vào cửa sổ truy vấn và chọn Tùy chọn truy vấn. Từ đó, bạn có thể chọn Bao gồm các Tiêu đề cho lưới và / hoặc văn bản và có Lưu dưới dạng hoạt động theo cách bạn muốn mà không cần khởi động lại SSMS.

Bạn vẫn sẽ cần thay đổi nó trong Công cụ-> Tùy chọn trong thanh menu để có các cửa sổ truy vấn mới sử dụng các cài đặt đó theo mặc định.


7

Vấn đề tương tự tồn tại trong Visual Studio, đây là cách khắc phục nó:

Đi đến:

Tools > Options > SQL Server Tools > Transact-SQL Editor > Query Results > Results To Grid

Bây giờ bấm vào hộp kiểm thành đúng: "Bao gồm các tiêu đề cột khi sao chép hoặc lưu kết quả"


6

Chọn kết quả của bạn bằng cách nhấp vào góc trên cùng bên trái, nhấp chuột phải và chọn "Sao chép bằng tiêu đề". Dán trong excel. Làm xong!


4

Các cài đặt được khuyến nghị thay đổi trong câu trả lời được chấp nhận của @ Diego có thể tốt nếu bạn muốn đặt tùy chọn này vĩnh viễn cho tất cả các phiên truy vấn trong tương lai mà bạn mở trong SQL Server Management Studio (SSMS). Đây thường không phải là trường hợp. Ngoài ra, thay đổi cài đặt này yêu cầu khởi động lại ứng dụng SQL Server Management Studio (SSMS). Đây lại là một trải nghiệm 'không đẹp' nếu bạn có nhiều cửa sổ phiên truy vấn mở chưa được lưu và bạn đang ở giữa một số gỡ lỗi.

SQL Server cung cấp tùy chọn khéo léo thay đổi tùy theo từng phiên, rất nhanh chóng, tiện dụng và thuận tiện . Tôi đang trình bày chi tiết các bước bên dưới bằng cửa sổ tùy chọn truy vấn:

  1. Nhấp chuột phải vào cửa sổ trình soạn thảo truy vấn> Nhấp vào Query Options...ở dưới cùng của menu ngữ cảnh như dưới đây:

nhập mô tả hình ảnh ở đây

  1. Chọn Results> Gridtrong khung điều hướng bên trái. Chọn Include column headers when copying or saving the resultshộp kiểm trong khung bên phải như hình dưới đây:

nhập mô tả hình ảnh ở đây

Đó là nó. Phiên hiện tại của bạn sẽ tôn trọng cài đặt của bạn với hiệu quả ngay lập tức mà không cần khởi động lại SSMS. Ngoài ra, cài đặt này sẽ không được truyền tới bất kỳ phiên nào trong tương lai. Hiệu quả thay đổi cài đặt này trên cơ sở mỗi phiên sẽ ít ồn hơn.


2

Đến đây khi tìm cách làm cho SSMS thoát khỏi dấu tách CSV đúng cách khi xuất kết quả.

Đoán xem cái gì? - đây thực sự là một tùy chọn và nó không được chọn theo mặc định . Vì vậy, theo mặc định, bạn nhận được các tệp CSV bị hỏng (và thậm chí có thể không nhận ra nó, đặc biệt nếu xuất khẩu của bạn lớn và dữ liệu của bạn không có dấu phẩy bình thường) - và bạn phải truy cập và nhấp vào hộp kiểm để xuất CSV của bạn chính xác!

Đối với tôi, đây có vẻ như là một sự lựa chọn thiết kế ngu ngốc và một phép ẩn dụ thích hợp cho cách tiếp cận của Microsoft đối với phần mềm nói chung ("bị phá vỡ theo mặc định, đòi hỏi các hành động nghi thức vô nghĩa để làm cho chức năng tầm thường hoạt động").

Nhưng tôi sẽ sẵn lòng quyên góp 100 đô la cho tổ chức từ thiện của người được hỏi nếu ai đó có thể cho tôi một lý do thực tế hợp lệ để lựa chọn này tồn tại (nghĩa là một kịch bản thực tế có ích).


2

Trong SQL Server 2014 Management Studio, cài đặt là:

Công cụ> Tùy chọn> Kết quả truy vấn> Máy chủ SQL> Kết quả thành văn bản> Bao gồm các tiêu đề cột trong tập kết quả.


0

Tôi cũng phải đối mặt với vấn đề tương tự. Khi tôi sử dụng nhấp chuột phải trong cửa sổ truy vấn và chọn Tùy chọn truy vấn. Nhưng các hàng tiêu đề không hiển thị trong tệp CSV đầu ra.

Sau đó, tôi đăng xuất máy chủ, đăng nhập lại và chạy tập lệnh. Sau đó, nó làm việc.


Bạn đã thử thay đổi Include column headers when copying or saving the resultstùy chọn? Tùy chọn này hiển thị khi bạn chọn Results> Gridtrong ngăn điều hướng bên trái trên Query Optionscửa sổ.
RBT
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.