スケーラブルデータベースサーバ HiRDB Version 8 コマンドリファレンス(UNIX(R)用)
固定長データ形式の場合,入力データは文字,又はデータベースに格納される形で記述します。
抽象データ型に格納するデータをコンストラクタ関数で生成する場合は,入力パラメタを文字データ,又は関数の引数の型で記述します。
なお,文字列形式の数値データ,及び文字列形式の文字データとは,それぞれ次の表に示すデータ型の列に格納する文字列データのことです。
表5-30 文字列形式の数値データと文字列形式の文字データ
| 文字列形式の数値データ | 文字列形式の文字データ |
|---|---|
|
|
入力データを文字で記述する場合は,「5.5.1 DAT形式の場合」を参照してください。データベースに格納される形で記述する場合は,「5.5.2 バイナリ形式の場合」を参照してください。
表5-31 文字列形式で入力データを記述する場合の空白(0x20)と囲み文字(0x22)の扱い(固定長データ形式)
| 表の列のデータ型,又はコンストラクタ関数のパラメタのデータ型 | 列名文及びoption文の指定内容 | 空白(0x20) | 囲み文字(") | |
|---|---|---|---|---|
| 囲み文字で囲まれていない場合 | 囲み文字で囲まれている場合 | |||
| INTEGER,SMALLINT,DECIMAL,FLOAT,及びSMALLFLT | option文allspaceオペランドの指定あり | 先頭から後方へ連続する空白,及び終端から前方へ連続する空白を除いた値が入力データとなります。数値と数値の間や,符号と数値の間の空白は除かないため,数値や符号の途中に空白を指定しないでください。データがすべて空白の場合は指定値「0」となります。 | 入力データエラーとなります。 | |
| option文allspaceオペランドの指定なし | 先頭から後方へ連続する空白,及び終端から前方へ連続する空白を除いた値が入力データとなります。数値と数値の間や,符号と数値の間の空白は除かないため,数値や符号の途中に空白を指定しないでください。データがすべて空白の場合は入力データなしとなり,入力データエラーとなります。 | |||
| CHAR及びMCHAR | mode=text | 終端から前方へ連続する空白を除いた値が入力データとなります。 | 空白を含めた値が入力データとなります。 | 「"」を囲み文字として扱います。「"」を除いた値が入力データとなります。 |
| mode=bin | 空白を含めた値が入力データとなります。 | 「"」を囲み文字として扱いません。「"」を含めた値が入力データとなります。 | ||
| NCHAR | − | 終端から前方へ連続する空白を除いた値が入力データとなります。 | 空白を含めた値が入力データとなります。 | 「"」を囲み文字として扱います。「"」を除いた値が入力データとなります。 |
| VARCHAR及びMVARCHAR | enclose_del=yes | 終端から前方へ連続する空白を除いた値が入力データとなります。データがすべて空白の場合は1バイトの空白データとなります。 | 空白を含めた値が入力データとなります。 | 「"」を囲み文字として扱います。「"」を除いた値が入力データとなります。連続する囲み文字の「""」は0長データとなります。 |
| enclose_del=no | 「"」を囲み文字として扱いません。「"」を含めた値が入力データとなります。 | |||
| NVARCHAR | − | 終端から前方へ連続する空白を除いた値が入力データとなります。データがすべて空白の場合は1バイトの空白(奇数バイト)となり,入力データエラーとなります。 | 空白を含めた値が入力データとなります。 | 「"」を囲み文字として扱います。「"」を除いた値が入力データとなります。連続する囲み文字の「""」は0長データとなります。 |
| DATE,INTERVAL YEAR TO DAY,TIME,INTERVAL HOUR TO SECOND,及びTIMESTAMP | − | 先頭から後方へ連続する空白,及び終端から前方へ連続する空白を除いた値が入力データとなります。 | 入力データエラーとなります。 | |
| BLOB | − | 終端から前方へ連続する空白を除いた値が入力データとなります。 | 空白を含めた値が入力データとなります。 | 「"」を囲み文字として扱いません。「"」を含めた値が入力データとなります。 |
| BINARY(7) | − | 空白を含めた値が入力データとなります。 | 「"」を囲み文字として扱いません。「"」を含めた値が入力データとなります。 | |
| XML型のBINARY属性パラメタ(ファイルパスを指定する場合) | − | 終端から前方へ連続する空白を除いた値がファイルパス名となります。 | 終端から前方へ連続する空白を除いた値がファイルパス名となります。囲み文字もファイルパス名の一部とみなされます。 | 「"」を囲み文字として扱いません。「"」を含めた値がファイルパス名となります。 |
表5-32 入力データを文字列形式で記述した場合の格納データ(固定長データ形式)
| 表の列のデータ型,又はコンストラクタ関数のパラメタのデータ型 | 列名文及びoption文の指定内容 | 入力データファイルの記述データ | 格納データ | |
|---|---|---|---|---|
| INTEGER,SMALLINT,DECIMAL,FLOAT,及びSMALLFLT | type=char(3) | 1△△ | 各データ型の1 | |
| △△1 | ||||
| △1△ | ||||
| +△1 | 入力データエラー | |||
| 1△1 | ||||
| type=char(3) | option文allspaceオペランドの指定あり | △△△ | 各データ型の「0」 | |
| option文allspaceオペランドの指定なし | △△△ | 入力データエラー | ||
| CHAR(7)及びMCHAR(7) | type=char(7)又はtype=char(7),mode=text | ABC△△△△ | ABC△△△△ | |
| "ABC"△△ | ||||
| "ABC△△" | ||||
| ""ABC"" | "ABC"△△ | |||
| △△△△△△△ | △△△△△△△ | |||
| ""△△△△△ | ||||
| △"△A△"△ | △"△A△"△ | |||
| type=char(7),mode=bin | ABC△△△△ | ABC△△△△ | ||
| "ABC"△△ | "ABC"△△ | |||
| "ABC△△" | "ABC△△" | |||
| ""ABC"" | ""ABC"" | |||
| △△△△△△△ | △△△△△△△ | |||
| ""△△△△△ | ""△△△△△ | |||
| △"△A△"△ | △"△A△"△ | |||
| NCHAR(3) | type=char(6) | あ▲▲ | あ▲▲ | |
| "あ"▲ | "あ"▲ | |||
| "あ▲" | あ▲▲ | |||
| ""あ"" | "あ"▲ | |||
| ▲▲▲ | ▲▲▲ | |||
| ""▲▲ | ""▲▲ | |||
| VARCHAR(7)及びMVARCHAR(7) | type=char(7)又はtype=char(7),enclose_del=yes | ABC△△△△ | ABC(3バイト) | |
| "ABC"△△ | ||||
| "ABC△△" | ABC△△(5バイト) | |||
| ""ABC"" | "ABC"(5バイト) | |||
| △△△△△△△ | △(1バイト) | |||
| ""△△△△△ | (0バイト) | |||
| △"△A△"△ | △"△A△" | |||
| type=char(7),enclose_del=no | ABC△△△△ | ABC(3バイト) | ||
| "ABC"△△ | "ABC"(5バイト) | |||
| "ABC△△" | "ABC△△"(7バイト) | |||
| ""ABC"" | ""ABC""(7バイト) | |||
| △△△△△△△ | △(1バイト) | |||
| ""△△△△△ | ""(2バイト) | |||
| △"△A△"△ | △"△A△"△ | |||
| NVARCHAR(3) | type=char(6) | あ▲▲ | あ▲▲(6バイト) | |
| "あ"▲ | "あ"▲(6バイト) | |||
| "あ▲" | あ▲(4バイト) | |||
| ""あ"" | "あ"(4バイト) | |||
| ▲▲▲ | ▲▲▲(6バイト) | |||
| ""▲▲ | ""▲▲(6バイト) | |||
| DATE | type=char(12) | 2003-12-31△△ | 2003-12-31 | |
| △△2003-12-31 | ||||
| △2003-12-31△ | ||||
| INTERVAL YEAR TO DAY | type=char(11) | 00010101.△△ | +00010101. | |
| △△00010101. | ||||
| △00010101.△ | ||||
| TIME | type=char(10) | 08:45:00△△ | 08:45:00 | |
| △△08:45:00 | ||||
| △08:45:00△ | ||||
| INTERVAL HOUR TO SECOND | type=char(9) | 010101.△△ | +010101. | |
| △△010101. | ||||
| △010101.△ | ||||
| TIMESTAMP | type=char(21) | 1991-01-01_11:22:33△△ | 1991-01-01_11:22:33 | |
| △△1991-01-01_11:22:33 | ||||
| △1991-01-01_11:22:33△ | ||||
| BLOB | type=char(13) | /tmp/file01△△ | /tmp/file01のデータ | |
| △△/tmp/file01 | エラー | |||
| △/tmp/file01△ | ||||
| BINARY(7) | type=char(7) | △△△△△△△ | △△△△△△△ | |
固定長データ形式の入力データファイルは,表の列データ型と同じデータ形式,又は列データ型にデータ変換可能な文字列で作成しますが,DECIMAL型の列に格納する入力データ型として,ADEC(ASCII CODE DECIMAL)型とBDEC(BINARY DECIMAL)型を使用できます。
ADEC型は,文字列形式で数値データを記述します。データ中には小数点を持たないで,列構成情報ファイルで小数点の位置を指定するデータ型です。ADEC型の形式を次に示します。
表5-33 ADEC型で記述したデータをDECIMAL(10,4)に格納した場合の例
| 入力データファイルに記述したデータ | DECIMAL(10,4)に格納するデータ | 説明 |
|---|---|---|
| 1△△△△△△△△△ | +000001.0000 | 1バイトでも空白を含むと,typeオペランドに指定した精度と位取りは無視され,小数点がない値と解釈します。 |
| △△△△△△△△△1 | +000001.0000 | |
| △△△△△1△△△△ | +000001.0000 | |
| △△△△△10000 | +010000.0000 | |
| 000001△△△△ | +000001.0000 | |
| 1000000000 | +100000.0000 | 0〜9だけの場合,typeオペランドに指定した精度と位取りで小数点の位置を決定します。 |
| 0000000001 | +000000.0001 | |
| 0000010000 | +000001.0000 | |
| +000010000 | +000001.0000 | 0〜9の値と符号部の場合,小数点の位置はデータの後方から解釈します。 |
| -000010000 | -000001.0000 |
BDEC型は,2進数で記述されたバイナリデータを10進数で記述し,10進数のけた数に合わせて,表の列データ型から小数点の位置を決定するデータ型です。BDEC型は先頭1ビットを符号として扱います。形式を次に示します。
表5-34 BDEC型で記述したデータをDECIMAL列に格納した場合の例
| 入力データファイルに記述したデータ | 格納先の列定義 | 格納するデータ |
|---|---|---|
| 0xff 0xff 0xfc 0xf7 | DECIMAL(10,0) | -0000000777 |
| DECIMAL(10,2) | -00000007.77 | |
| DECIMAL(10,10) | -0.0000000777 |
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.