236

SQL Server Management StudioでNTEXTまたはNVARCHAR(max)からのすべてのテキストをどのように表示しますか?デフォルトでは、最初の数百文字(255?)しか返さないように見えますが、プログラムを作成せずに、フィールド全体をすばやく表示したい場合があります。SSMS 2012でさえ、まだこの問題があります:(

4

11 に答える 11

115

SSMS の新しいバージョンでは、(Query/Query Options/Results/Grid/Maximum Characters Retrieved)メニューで構成できます。

ここに画像の説明を入力


古いバージョンの SSMS

オプション (クエリ結果/SQL Server/グリッド ページへの結果)

現在のクエリのオプションを変更するには、[クエリ] メニューの [クエリ オプション] をクリックするか、SQL Server クエリ ウィンドウを右クリックして [クエリ オプション] を選択します。

...

取得
する最大文字数 1 ~ 65535 の数値を入力して、各セルに表示される最大文字数を指定します。

ご覧のとおり、最大は 64k です。デフォルトはもっと小さいです。

BTW Results to Textには、さらに大幅な制限があります。

各列に表示される最大文字数
この値のデフォルトは 256 です。切り捨てなしでより大きな結果セットを表示するには、この値を増やします。最大値は 8,192 です。

于 2012-08-10T08:30:18.820 に答える
59

SSMS 用のアドインを作成しましたが、この問題はそこで修正されています。次の 2 つの方法のいずれかを使用できます。

「現在のセルを 1:1 でコピー」を使用して、元のセル データをクリップボードにコピーできます。

http://www.ssmsboost.com/Features/ssms-add-in-copy-results-grid-cell-contents-line-with-breaks元のセルの内容をコピーする

または、代わりに、「セル ビジュアライザー」機能を使用して外部テキスト エディター (notepad++ またはメモ帳) でセルの内容を開くこともできます: http://www.ssmsboost.com/Features/ssms-add-in-results-grid-visualizers

(この機能により、外部アプリケーションでフィールドの内容を開くことができるため、テキストであることがわかっている場合は、テキスト エディターを使用して開きます。内容が画像付きのバイナリ データの場合は、[画像として表示] を選択します。以下のサンプルは、画像を開くことを示しています。 ):SSMS 結果グリッド ビジュアライザー

于 2012-08-10T10:56:46.047 に答える
11

データを XML として返す

SELECT CONVERT(XML, [Data]) AS [Value]
FROM [dbo].[FormData]
WHERE [UID] LIKE '{my-uid}'

期待する結果に応じて、SSMS オプション ウィンドウで適切な制限を設定してください。 ここに画像の説明を入力

これは、返されるテキストにエンコードされていない文字が含まれていない場合に機能します。&代わりに&、XML 変換が失敗する原因となります。

PowerShell を使用してデータを返す

このためには、コマンドを実行するマシンにPowerShell SQL Server モジュールをインストールする必要があります。

すべての設定が完了したら、次のスクリプトを構成して実行します。

Invoke-Sqlcmd -Query "SELECT [Data] FROM [dbo].[FormData] WHERE [UID] LIKE '{my-uid}'" -ServerInstance "database-server-name" -Database "database-name" -Username "user" -Password "password" -MaxCharLength 10000000 | Out-File -filePath "C:\db_data.txt"

-MaxCharLengthパラメータをニーズに合った値に設定してください。

于 2019-07-23T11:37:20.967 に答える