データベーステーブルを作成するときは、すべての列とそのデータ型を指定します。一度作成されると、通常、これらのデータ型を変更する意図はありません。結局のところ、スキーマを設計した人は誰でも、すべての列が受け入れるべきデータ型について多くのことを考えていただろう。
しかし、私たちは皆、物事が変わる可能性があることを知っています。データベースに影響を与える可能性のあるすべてのシナリオを予測するために最善を尽くしましたが、それだけでは不十分な場合もあります。
では、Transact-SQLを使用してSQL Serverの列のデータ型を変更する必要がある場合は、どうすればよいでしょうか。
ALTER TABLE
を使用します もちろん変更するステートメント。
例
T-SQLのALTER TABLE
の使用例を次に示します。 列のデータ型を変更するステートメント:
ALTER TABLE Tasks ALTER COLUMN TaskCode char(6); GO
これにより、Tasks
というテーブルが変更されます 、TaskCode
を変更する char(6)
のデータ型への列 。 使用したデータ型を指定する必要はないことに注意してください。 あるべき–あなたは単に新しいデータ型を指定し、それで終わります。残りはSQLServerが行います。
結果を確認する
INFORMATION_SCHEMA.COLUMNS
にクエリを実行すると、結果を確認できます。 :
USE Solutions; SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH AS MAX_LENGTH, CHARACTER_OCTET_LENGTH AS OCTET_LENGTH FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Tasks' AND COLUMN_NAME = 'TaskCode';
結果:
COLUMN_NAME DATA_TYPE MAX_LENGTH OCTET_LENGTH ----------- --------- ---------- ------------ TaskCode char 6 6