web-dev-qa-db-ja.com

SQL Server-ドロップせずに列nvarcharの長さを変更する方法

次のように、表「投稿」の列「本文」の長さを変更しようとしています。

ALTER TABLE Post ALTER COLUMN Body nvarchar(8000) NOT NULL;

列はnvarchar(4000)として定義されており、次のエラーが表示されます。

メッセージ2717、レベル16、状態2、行1パラメーター「Body」に指定されたサイズ(8000)が最大許容値(4000)を超えています。

21
Mário Tomé

代わりにMaxを使用してください。列がVARCHARとして宣言されている場合、8000でも問題ありません。

ALTER TABLE Post ALTER COLUMN Body nvarchar(max) NOT NULL;
31