2012-02-24 17 views
3

我一直在做SQL一段時間,我一直很滿意使用在SSMS中找到的Results to Grid來自SQL Server的簡單結果格式化

現在我有一系列正在運行的查詢,我想要一些非常簡單的結果格式。目前,Results to GridResults to Text都沒有做我想做的事情。

有幾件事情,我想這樣做更容易讓我讀的是

  1. 刪除,上面寫着「受影響#行(S)」(在Results to Text找到)
  2. 使文本在列對齊輸出格式列不那麼寬(部分問題是最大字符數不出現走低於30 - 這是我的數據,迫使這個)

如果我不能格式輸出(甚至是文本文件)我有什麼其他選項?我花了一些時間看SQL Server - > PHP - > HTML以及SQL服務器 - > Reporting Services - > MS Report Builder,但坦率地說,它似乎是矯枉過正,把一些墊片和漂亮的標題位。

我覺得我在這裏錯過了一些東西...我寧願不經過所有那些安裝PHP的麻煩,什麼不僅僅是能夠看我的數據有點漂亮。

+0

相關(不重複):http:// stackoverflow。com/questions/1483732/set-nocount-on-usage – gbn 2012-02-24 08:48:07

+0

我剛剛發現瞭如何直接從SQL Server寫入HTML的優秀鏈接。這是一種非常快速/簡單的技術,可以讓您很好地簡化報告的格式化http://www.sqlservercentral.com/blogs/robert_davis/2010/06/15/Building-HTML-Emails-With-SQL-Server-and -XML / – user918967 2012-02-27 02:44:24

回答

3

刪除,上面寫着 '受影響#行(S)'(在結果發現文本)

在你的SQL頂部將這個SET NOCOUNT ON

充分利用文本在列對齊的輸出格式中不是很寬的列(部分 的問題是最大字符數不是 似乎低於30 - 這是我的數據強制這個嗎?)

是的,它是這樣做的字段的大小。如果你知道你不會丟失數據,你可以投它cast(field as varchar(20)

2

這一切都取決於你想要對格式化結果做什麼。

爲了在Management Studio中直接查看時快速讀取/格式化結果,我使用Results to Grid,選擇所有標題(通過右鍵單擊網格的左上角),然後複製/粘貼到Excel。從那裏很容易做基本的修補與列的寬度和格式。對我來說,最大的缺點是日期並不是非常適合開箱即用,但它總是一個快速修復。

當我將查詢結果粘貼到電子郵件中時,Excel也爲基本格式設置了良好的臨時停止。

在某些情況下這可能是矯枉過正,但我​​懷疑比使用PHP - > HTML或Reporting Services - > MS Report Builder要少得多。