列の変更
適用対象: SQL Server 2016 (13.x) 以降 Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
SQL Server Management Studio または Transact-SQL を使って、SQL Server の列のデータ型を変更できます。
警告
既にデータが格納されている列のデータ型を変更すると、既存のデータが新しい型に変換される時点で、それらのデータは完全に失われます。 さらに、変更した列に依存しているコードやアプリケーションが失敗する可能性があります。 これには、クエリ、ビュー、ストアド プロシージャ、ユーザー定義関数、およびクライアント アプリケーションが含まれます。 このような失敗は連鎖します。 たとえば、変更した列に依存しているユーザー定義関数を呼び出すストアド プロシージャは、失敗する可能性があります。 列に対して変更を行う場合は、よく考えてから行う必要があります。
アクセス許可
テーブルに対する ALTER 権限が必要です。
SQL Server Management Studio (SSMS) の使用
SSMS を使用して列のデータ型を変更する
オブジェクト エクスプローラーで、有効桁数を変更する列が含まれているテーブルを右クリックして、[デザイン] を選択します。
データ型を変更する列を選択します。
[列のプロパティ] タブで [データ型] プロパティのグリッド セルを選択し、ドロップダウン リストから新しいデータ型を選択します。
[ファイル] メニューの [<テーブル名> を保存] を選択します。
Note
列のデータ型を変更すると、テーブル デザイナーでは選択したデータ型の既定の長さが適用されます。これは既に別の長さを選択していた場合でも同じです。 データ型の指定後、必要な値を格納できるようにするために、データ型に適切な長さを設定してください。
警告
別のテーブルに関連付けられている列のデータ型を変更しようとすると、別のテーブルの列にも変更が行われることを確認するメッセージがテーブル デザイナーに表示されます。
Transact-SQL の使用
Transact-SQL を使用して列のデータ型を変更する
オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。
標準バーで、 [新しいクエリ] を選択します。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] を選択します。
CREATE TABLE dbo.doc_exy (column_a INT ); GO INSERT INTO dbo.doc_exy (column_a) VALUES (10); GO ALTER TABLE dbo.doc_exy ALTER COLUMN column_a DECIMAL (5, 2); GO