2012-03-07 10 views
2

プロファイルシステムを作成しています。データベースにaboutMeという名前のフィールドがあります。データ型はテキストです。テキストデータの保存にはどのようなデータ型を使用する必要がありますか?

このフィールドには最大30,000文字を含めることができます。問題は、最大27,000文字(または4,000以上)を使用している場合、UIに表示されず、代わりにコンテンツが切り捨てられ、少数しか表示されないという問題が発生しています。 4000文字以上4000文字を使用する場合、UIには4000文字未満が表示されます

SQL Server 2008 R2データベースを使用しています。

+3

質問も切り捨てられました。 –

+0

テーブル定義を投稿してください。 –

答えて

2

SQL Server 2005以降では、Unicode以外のテキストにはVARCHAR(MAX)、UnicodeテキストにはNVARCHAR(MAX)を使用する必要があります(文字あたり2バイトを使用)。 TEXTおよびNTEXTは推奨されず、はもうではありません。

これらは現在のデータ型であり、他のテキスト/文字列と同様に扱うことができます。すべての文字列関数は上手く機能します。

これらの各列の最大容量は、2GByteです。これは、非Unicode文字数が20億文字、Unicode文字数が10億文字です。 Tolstojの戦争と平和のような本当に長い本はおそらく500万文字以下(560'000言葉)で、これはUnicodeのにその本に少なくとも200回を格納するのに十分なスペースになることを考えると

- 必要がありますほとんどの場合アプリケーションの場合....

2

データタイプがdeprecatedなので、代わりにvarchar(max)を使用する必要があります。

UIによって、SQL Managament Studioを意味する場合、大きなテキスト値は表示されません。パフォーマンス上の理由から、エディタにはそのような制限がいくつかあります。

データにプログラムでアクセスする場合、そのような制限はありません。ただし、大きなテキスト値は別のデータストリームで送信されるので、レコードごとに複数の大きなテキスト値がある場合は、選択した順序でアクセスする必要があります。

0

これにはntextデータ型を使用できます。

関連する問題