データベーステーブルを作成するときは、すべての列とそのデータ型を指定します。一度作成されると、通常、これらのデータ型を変更する意図はありません。結局のところ、スキーマを設計した人は誰でも、すべての列が受け入れるべきデータ型について多くのことを考えていただろう。
しかし、私たちは皆、物事が変わる可能性があることを知っています。データベースに影響を与える可能性のあるすべてのシナリオを予測するために最善を尽くしましたが、それだけでは不十分な場合もあります。
では、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