データベースのデータ型の操作

Adobe AIR 1.0 およびそれ以降

データベースにテーブルを作成する際には、テーブルを作成するための SQL ステートメントでテーブルの各列の類似性(データ型)を定義します。類似性の宣言は省略することもできますが、 CREATE TABLE SQL ステートメントで列の類似性を明示的に宣言することをお勧めします。

原則として、 INSERT ステートメントを使用してデータベースに格納したオブジェクトは、 SELECT ステートメントを実行すると同じデータ型のインスタンスとして返されます。ただし、値が格納されるデータベースの列の類似性によっては、異なるデータ型の値が返される場合もあります。値を列に格納するときに、その値のデータ型が列の類似性と一致していないと、値が列の類似性に合わせて変換されます。例えばデータベースの列が NUMERIC 類似性を使用して宣言されていた場合、挿入したデータは、格納される前に数値格納クラス( INTEGER または REAL )に変換されます。データを変換できない場合はエラーがスローされます。このルールに従うと、「12345」という String を NUMERIC 列に挿入した場合は、データベースに格納される前に 12345 という整数値に自動的に変換されます。その値を SELECT ステートメントで取得すると、String ではなく数値データ型(Number など)のインスタンスとして返されます。

望ましくないデータ型の変換が行われないようにするには、2 つのルールに従うのが最善の策になります。まず、各列を定義する際に、その列に格納する予定のデータの型と一致する類似性を使用して定義します。次に、定義されている類似性と一致するデータ型の値のみを挿入するようにします。これらのルールに従うと、2 つのメリットがあります。まず、データの挿入時にデータが予期せず変換される(その結果、場合によってはデータの本来の意味が失われる)ことがなくなります。また、データの取得時にデータが元のデータ型で返されるようになります。

使用可能な列の親和型の種類と SQL ステートメントでのデータ型の使用について詳しくは、 データ型のサポート を参照してください。