4

Microsoftは、次のように発表しました。「ntext、、、textおよびimageデータ型は、MicrosoftSQLServerの将来のバージョンで削除される予定です。」そして、代わりにnvarchar(max)、、を使用することをお勧めします。varchar(max)varbinary(max)

私の質問:8kbより大きいデータ型があります。このデータをSQLに挿入するにはどうすればよいですか?どのデータ型が私の問題を解決しますか?

データ型に関するMSDNドキュメント

4

4 に答える 4

3

nvarchar(max)varchar(max)、およびvarbinary(max)のいずれか。

nvarchar(max)およびvarchar(max)は、テキスト情報用です(nvarcharはUnicodeをサポートしています)。

varbinary(max)は、バイナリデータ(画像、ファイルなど)用です。

すべての場合において、MAX indicates that the maximum storage size is 2^31-1 bytes.

于 2010-12-06T09:45:41.050 に答える
2

テキストデータの場合は、varchar(max)またはnvarchar(max)(ユニコードをサポート)のいずれかです。varchar(max)の最大ストレージサイズは2 ^ 31-1バイトです(参照)。

バイナリデータの場合は、を使用しますvarbinary(max)

于 2010-12-06T09:45:43.683 に答える
0

nvarchar(max)varchar(max)またはのいずれかを使用しますvarbinary(max)

8KBの行制限を超えるデータを挿入すると、データはROW_OVERFLOW_DATAアロケーションユニットの別のページに行外に移動されます。

次のMSDNの記事では、このプロセスについてさらに詳しく説明しています。

varchar(max)の最大値は2GBだと思います。

于 2010-12-06T09:53:59.630 に答える
0

「varchar」ビットと混同しないでください。

varchar(max)これは基本的に、varchar(50)orvarchar(1000)orvarchar(8000)`と同じようにほとんどの関数を使用できることを意味します。

  • (最大)データ型は2^32-1バイトをサポートします
  • 非最大タイプは最大8000バイトをサポートします

したがって、持つことも、最大にすることもできますがvarchar(50)varchar(1000)よりvarchar(8000)長い文字列を格納する場合は、を使用しますvarchar(max)

「max」または「50」/「1000」/「8000」ビットは、単に内部ストレージ+最大文字列長を決定します。

もちろん、インデックス作成など、いくつかの小さな違いがあります。

于 2010-12-06T10:03:32.927 に答える