バーチャルスキーマ
バーチャルスキーマとはRDBやCSVなどの種類を問わずに、統一的に仮想化されたスキーマです。単に「スキーマ」と呼ぶこともあります。
バーチャルデータ型
バーチャルデータ型は以下の通りです。
| Integer | -9223372036854775808以上,9223372036854775807以下の整数 |
| Decimal | 無限精度の数値 |
| String | 最大2147483647文字までの文字列 |
| Binary | 最大2147483647バイトまでのバイト列データ |
| DateTime | 西暦で、単位は年月日時分秒1/1000秒まで 例:1970年01月01日00:00:00 |
| Boolean | 真(true)もしくは偽(false) |
DateTime型の書式
標準の日付書式はISO8601で規定されている「yyyy-MM-dd'T'HH:mm:ss'.'SSS z」形式です。日付型を文字列として書き出す場合はこの形式が使用されます。zはタイムゾーンを表し、’JST’、’+0900’、’GMT-01:00’などのように表記します。 タイムゾーンが省略されるとローカルタイムとして処理されます。
また、以下の形式の日付文字列も読み込むことができます。DateTime値を文字列として設定する場合は下記の形式のいずれかを使用してください。
yyyy-MM-dd'T'HH:mm:ss z
yyyy-MM-dd'T'HH:mm:ss'.'SSS z
また、「yyyyMMdd'T'HH:mm:ss'.'SSS」形式のときに限り、UTC指定子「Z」が直後に付加されている場合はGMTとして取り扱います。
データ型の変換
データ型変換対応表
| 入力\出力 | Boolean | Integer | Decimal | String | Binary※1 | DateTime |
|---|---|---|---|---|---|---|
| Boolean | - | ○※2 | ○※2 | ○※3 | ○ | × |
| Integer | ○※4 | - | ○ | ○ | ○ | ○※5 |
| Decimal | ○※4 | ○ | - | ○ | ○ | ○※5 |
| String | ○※6 | △※9 | △※9 | - | ○ | △※10 |
| Binary ※7 | ○ | △ | △ | ○ | - | △ |
| DateTime | × | ○※5 | ○※5 | ○※8 | ○ | - |
○=変換可能、△=フォーマットに依存、×=変換不可
※1 Binaryへの変換は一度Stringに変換されてから、システムのエンコーディングでバイト列化されます(プラットフォーム依存性に注意してください)。
※2 True=1, False=0
※3 True="true", False="false"
※4 0=False, それ以外はTrue
※5 DateTime型は1970 年1月1日 00:00:00 GMT からのミリ秒数として数値型と相互に変換されます。
※6 大文字小文字の区別なしで"true"とマッチする場合True、それ以外はFalse
※7 Binaryからの変換は一度システムのエンコーディングでString化された後に適用されます(プラットフォーム依存性に注意してください)。
※8 標準の日付フォーマット(yyyy-MM-dd'T'HH:mm:ss'.'sss z)
※9 十進表記のみ有効(前後の空白は無視されます)。変換できなかった場合は 0 が適用されます
※10 DateTime型の書式を参照。変換できなかった場合は 1970 年1月1日 00:00:00 GMT となります
データ型に関わらずnullはすべての型に変換が可能です。