テーブルの列のデータ型を変更する (SQLコマンドでの列のデータ型の変更) - SQL

SQLでテーブルの列(column)のデータ型を変更するコードの紹介です。

概要

SQLを利用してテーブルの列のデータ型を変更できます。ALTER TABLE コマンドを利用し ALTER COLUMN 文で列を削除します。

SQLの書式

ALTER TABLE (テーブル名) ALTER COLUMN (データ型を変更する列名) (新しいデータ型名)

実行例1

ProductItem テーブル
列名データ型
id int
name nchar(128)
category nchar(64)
subcategory nchar(64)
code nchar(16)
subcode nchar(8)
price decimal(18,2)
memo ntext
上記のテーブルで、subcode列のデータ型を nchar(8)からnchar(32)に変更します。
以下のSQL文を実行します。
ALTER TABLE ProductItem ALTER COLUMN subcode nchar(32);
ProductItem テーブル
列名データ型
id int
name nchar(128)
category nchar(64)
subcategory nchar(64)
code nchar(16)
subcode nchar(32)
price decimal(18,2)
memo ntext

注意
すでにレコードが挿入されており、元のデータ型より短いデータ型に変更することでデータが欠損する場合には、 「文字列データまたはバイナリ データが切り捨てられます。」のエラーが発生します。

実行例2

次の構造のテーブルがあります。
PRODUCTS テーブル
列名
id int
name nchar(128)
price int
flag int

flag列をint型から nchar(32)型へ変更する場合のSQLは以下になります。

alter table PRODUCTS alter column flag nchar(32)

alter table ... alter column コマンドに関連する作業


著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
最終更新日: 2023-12-27
作成日: 2012-09-05
iPentec all rights reserverd.