項目の型とJavaScriptの型との対応

データベース上のデータがスクリプトに渡された場合や、逆にスクリプトからデータベースへ書き込む場合には、次のような対応によって相互に変換されます。

表 9. 項目の型とJavaScriptの型との対応

項目の型JavaScriptの型備考
文字列型(一行)文字列型(複数行)外部キー自動生成文字列タイムスタンプString 
真理値型bool 
小さな整数型int 
浮動小数点数型double 
整数型Integer 
有理数型n進数型Rational 
バイナリ型Binary 
単位型void 
レコード選択ObjectのArray配列の長さは常に1で、その要素がObject、そのプロパティにレコードの子項目
テーブルObjectのArray配列の各要素がObject、そのプロパティにテーブルの子項目

複合型は常にObjectの配列に変換されます。その配列の各要素であるObjectにはその複合型の子項目の名前と同じプロパティが付き、そのプロパティに子項目のデータがセットされます。

例えば、あるテーブル型に文字列型(一行)の子項目「名前」と小さな整数型の子項目「年齢」があったとします。そして変数xにそのテーブルから5行のレコードを取得した結果がセットされているとします。そのときx[2]["名前"]には3番目のレコードの「名前」の値がセットされています。またx[0]["年齢"]には最初のレコードの「年齢」の値がセットされています。

別の例としてたとえば、ある選択型に単位型の子項目「既定」と文字列型の子項目「その他」があったとします。そして変数yにその選択型のデータを取得した結果がセットされているとします。そのデータが選択肢「その他」のほうを選択していて、その値が「abc」だったとすると、y[0]["その他"]の値は"abc"となり、選択されていない選択肢であるy[0]["既定"]undefinedとなります。レコード型や選択型から変換された配列の長さは常に1のため、y.lengthは1になります。