列の変更 (データベース エンジン)

SQL Server 2012 では、SQL Server Management Studio または Transact-SQL を使用して列のデータ型を変更できます。

注記注意

既にデータが格納されている列のデータ型を変更すると、既存のデータが新しい型に変換される時点で、それらのデータは完全に失われます。 さらに、変更した列に依存しているコードやアプリケーションも正常に動作しなくなる場合があります。 これには、クエリ、ビュー、ストアド プロシージャ、ユーザー定義関数、およびクライアント アプリケーションが含まれます。 このようなエラーは連鎖するので注意が必要です。 たとえば、変更した列に依存しているユーザー定義関数を呼び出すストアド プロシージャは、正常に動作しない可能性があります。 列に対して変更を行う場合は、よく考えてから行う必要があります。

このトピックの内容

  • 作業を開始する準備:

    セキュリティ

  • 列のデータ型を変更する方法:

    SQL Server Management Studio

    Transact-SQL

作業を開始する準備

セキュリティ

権限

テーブルに対する ALTER 権限が必要です。

[トップに戻る] リンクで使用される矢印アイコン[Top]

SQL Server Management Studio の使用

列のデータ型を変更するには

  1. オブジェクト エクスプローラーで、有効桁数を変更する列が含まれているテーブルを右クリックし、[デザイン] をクリックします。

  2. データ型を変更する列を選択します。

  3. [列のプロパティ] タブで、[データ型] プロパティのグリッド セルをクリックし、ドロップダウン リストから新しいデータ型を選択します。

  4. [ファイル] メニューの [table name の保存] をクリックします。

注意

列のデータ型を変更すると、テーブル デザイナーでは選択したデータ型の既定の長さが適用されます。これは既に別の長さを選択していた場合でも同じです。 データ型の指定後、必要な値を格納できるようにするために、データ型に適切な長さを設定してください。

注記注意

別のテーブルに関連付けられている列のデータ型を変更しようとすると、別のテーブルの列にも変更が行われることを確認するメッセージがテーブル デザイナーに表示されます。

[トップに戻る] リンクで使用される矢印アイコン[Top]

Transact-SQL の使用

列のデータ型を変更するには

  1. オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、[実行] をクリックします。

    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
    

詳細については、「ALTER TABLE (Transact-SQL)」を参照してください。