SQLite | SQLite関数 | テーブルに保存された値のデータ型を返す(typeof関数)

typeof関数を使用すると、テーブルに保存された値のデータ型を確認できます。ここでは、typeof関数の使い方について説明します。

typeof関数の使い方

typeof関数は、値のデータ型を確認するために使用します。構文は次のとおりです。

typeof(値)

SQLiteでは、テーブルの列に宣言したデータ型と、実際に保存された値のデータ型を分けて考える必要があります。詳しくは、データ型を参照してください。

typeof関数は、値のデータ型を表す文字列を返します。戻り値はintegerrealtextblobnullのいずれかです。列名を指定すると、その列に保存されている値のデータ型を返します。

実際に試してみましょう。まず、次のテーブルを作成します。

create table test (id integer, data none);
sqlite> create table test (id integer, data none);
sqlite> 

INSERT文を使用して次のデータを追加します。

insert into test values (1, 3);
insert into test values (2, 15.24);
insert into test values (3, 'Peach');
insert into test values (4, NULL);
insert into test values (5, zeroblob(2));
sqlite> insert into test values (1, 3);
sqlite> insert into test values (2, 15.24);
sqlite> insert into test values (3, 'Peach');
sqlite> insert into test values (4, NULL);
sqlite> insert into test values (5, zeroblob(2));
sqlite> 

typeof関数を使用して、data列に保存されている値のデータ型を確認します。

select data, typeof(data) from test;
sqlite> .mode column
sqlite> .header on
sqlite> 
sqlite> select data, typeof(data) from test;
data        typeof(data)
----------  ------------
3           integer     
15.24       real        
Peach       text        
            null        
            blob        
sqlite> 

列に保存されている各値のデータ型が表示されました。