0

ntext データ型の列で構成されるテーブルがあります。

次のような例を検索するクエリを作成します。

SELECT 
    Id,
    NtextColumnName
FROM Table
WHERE 
    NtextColumnName LIKE N'%search_term%'

一定数の行を取得しました。しかし、この列を表示してこれを見つけるsearch_termと、結果が切り捨てられているようです。

また、結果をテキストで表示して検索を適用しようとしましたが、結果はありません。

NtextColumnName列内の検索語の存在を調べ、この結果を表示するにはどうすればよいですか?

4

1 に答える 1

2

列データの長さに応じて、Management Studio でデータを表示するだけの場合は、列を XML データ型にキャストします。

declare @t1 table(c1 ntext)
insert into @t1 values(space(5000) + 'a' + space(5000))
select cast(c1 as xml) from @t1

この例では、1 つの列が表示されます。この列をクリックすると、新しいウィンドウにデータ セット全体が表示されます。

返されるデータの最大量の設定:

  • ツール | オプション | クエリ結果 | SQL サーバー | 結果をテキストに | 各列に表示される最大文字数
  • ツール | オプション | クエリ結果 | SQL サーバー | 結果をグリッドに | 取得できる最大文字数

編集:データサイズが大きい場合に完全な値を取得するには、この回答は CDATA 列にラップする正しい方法を示しています:

declare @t1 table(c1 ntext)
insert into @t1 values(space(10000) + 'a' + space(10000))
select 
  convert(xml,'<xml><![CDATA[' + cast(c1 as varchar(max)) + ']]></xml>') 
from 
  @t1
于 2013-04-09T13:39:25.300 に答える