varchar(max)MS SQL Server2000年です。
-
09-09-2019 - |
質問
思を受け継ぐasp.net サイトのプロジェクトが現在、まさにSQLサーバーとして2000年にその英語版をご覧下さい
れをやってきたということもデータベースの変更、コピー、dbを使用SQL Server2005年。私の作成テーブルを使用 varchar(max)
列あります。使用され保存されたスニペットのXHTMLの任意の長さです。
しかし、周りにstackoverflowっこているが、これらの点を使用してnvarchar(MAX)?
ユーザー mattrumaていると言うことが"ハード"の使用に関 varchar(max)
SQL Server2000年.
何をすべき使うのではなく varchar(max)
このデータベースの運行にSQLサーバ2000?
よろしくお願又は助かります!
解決
そのような varchar(MAX)
上の制限が議論の余地がある問題が生DBは、SQLサーバーでは、2000年になっていくものと信じています。い8K文字を格納すいのだその他のオプション TEXT
カラムです。しかし、注意する TEXT
カラムの限界です。
例えばできないようグループも簡単なのですがそれらを比較するための外国人登録証明書"が"在留その他の列あります。ることはできない Select * from mytable where Mytext1 = mytext2
.
その他の関連する問題に対応する
- 思いを
NText
またはNVarchar
カラムにかかわらず、お支援にUnicodeで扱います。 - の場合はテーブルの他の列の
varchar(8000)
カラムが頻繁に行われるようになり全く問題は、行の制限8K.このことも覚えておきましょう。
他のヒント
VARCHAR(Max)
は、SQL Server 2005で導入された、そしてあなたはそれが十分な大きさになると仮定しVARCHAR(8000)
のいずれかを使用する必要があるSQL Server 2000で動作しません。そうしないとあなたがTEXT
を使用する必要があります。
編集
あなたが心に留めておくVARCHAR(8000)
に切り替える場合はまた、単一の行はもっとして8060のバイトを持つことができない限界があります。あなたはvarchar(8000)
テーブルを埋めるなどの大型の列の束を持っているのであればエラーが発生します。 Text
の出番です。
デフォルトでは、それは別の場所に格納されているためText
パフォーマンスの意味を有し、それらはテーブル内のポインタを維持します。彼らは一定のサイズに達するまで、テキストタイプがテーブルに保存されているように、この動作を変更する設定オプションがあります。あなたは主に小さな塊を持っている場合は、これを有効にする場合があります。
TEXT列を使用します。
これは、あなたのニーズによって異なります。あなたが代わりにVARCHAR(MAX)のTEXT列を使用することができますが、あなたはTEXTとNTEXTフィールド上の比較のように行うことができないとして、あなたの実装は、そのフィールドに検索する必要がないことを確認する必要があります。
あなたは8000個の文字に自分自身を制限することができる場合、私は情報を格納するVARCHAR(8000)のカラムを使用することになります。