1. ホーム
  2. sql

[解決済み】varcharカラムの最大長を変更する?

2022-04-07 01:17:04

質問

私は、内容を失うことなく、varcharカラムの長さを255文字から500文字に更新しようとしています。私は以前にテーブルを削除して再作成したことがありますが、私はこれを行うために使用する必要があると信じているalterステートメントに触れたことがない。ここにドキュメントがあります。 ALTER TABLE (Transfact-SQL) しかし、私には理解できない。

今のところ以下のようなものがあります(本質的には残念ながら何もありません)。

alter table [progennet_dev].PROGEN.LE
alter column UR_VALUE_3

どのようにアプローチすればよいのでしょうか?このステートメントについて、もっと良いドキュメントがあるのでしょうか(ステートメントの例をいくつか検索してみましたが、空振りでした)?

どのように解決するのですか?

必要なもの

ALTER TABLE YourTable ALTER COLUMN YourColumn <<new_datatype>> [NULL | NOT NULL]

を指定することを忘れないでください。 NOT NULL 必要であれば、明示的に

ALTER TABLE YourTable ALTER COLUMN YourColumn VARCHAR (500) NOT NULL;

以下のように無指定にすると...

ALTER TABLE YourTable ALTER COLUMN YourColumn VARCHAR (500);

と定義されていたとしても、デフォルトで null を許可するようになります。 NOT NULL での指定を省略することができます。 ALTER TABLE ... ALTER COLUMN は常に扱われます。

ALTER TABLE YourTable ALTER COLUMN YourColumn VARCHAR (500) NULL;

このふるまいは、以下の方法で作成された新しいカラムのふるまいとは異なります。 ALTER TABLE (または CREATE TABLE の時間)。そこでは、デフォルトの無効化は ANSI_NULL_DFLT の設定を行います。