カラムのデータ型を設定
今度はカラムのデータ型を指定してテーブルを作成し、値がどのように格納されるのかを確認してみます。
カラムに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型だけを試しました。カラムにデータ型を設定した場合には場合によっては値のデータ型が変換されて格納されていることが確認頂けたかと思います。