カラムのデータ型を設定

今度はカラムのデータ型を指定してテーブルを作成し、値がどのように格納されるのかを確認してみます。

カラムにTEXT型を設定

次のようなテーブルを作成します。

create table texttable(val text);

カラムのデータ型を設定

データを次のように4件追加します。

insert into texttable values('Summer');
insert into texttable values(48);
insert into texttable values(null);
insert into texttable values(39.24);

カラムのデータ型を設定

追加したデータを表示させてみます。値と値のデータ型を表示させます。

select val, typeof(val) from texttable;

カラムのデータ型を設定

このようにTEXT型を設定したカラムにINTEGER型やREAL型の値を格納するとTEXT型に変換されて格納されます。NULL型の値は変換されずにそのまま格納されます。

カラムにNUMERIC型を設定

もう一つ試してみます。次のようなテーブルを作成します。

create table numtable(val numeric);

カラムのデータ型を設定

データを次のように6件追加します。

insert into numtable values('Summer');
insert into numtable values(48);
insert into numtable values('72');
insert into numtable values(39.24);
insert into numtable values('0.17');
insert into numtable values(null);

カラムのデータ型を設定

追加したデータを表示させてみます。値と値のデータ型を表示させます。

select val, typeof(val) from numtable;

カラムのデータ型を設定

このようにNUMERIC型を設定したカラムにTEXT型の値を格納するとINTEGER型またはREAL型に変換を試みます。成功すれば変換された値で格納され、失敗すればTEXT型のまま格納されます。NULL型の値は変換されずにそのまま格納されます。

今回はTEXT型とNUMERIC型だけを試しました。カラムにデータ型を設定した場合には場合によっては値のデータ型が変換されて格納されていることが確認頂けたかと思います。