データ型の対応関係(外部のDBがHiRDBの場合)を表C-1及び表C-2に示します。
表C-1 データ型の対応関係(外部のDBがHiRDBの場合)(1/2)
HiRDBのデータ型 (外部のDB) | HiRDBのデータ型 |
---|
SMALLINT | INTEGER | DECIMAL(m,n)又はNUMERIC(m,n) 1≦m≦38,0≦n≦m | SMALLFLT又はREAL※1 | FLOAT又はDOUBLE PRECISION※1 | CHAR(n) 1≦n≦255 | VARCHAR(n) 1≦n≦255 | MCHAR(n) 1≦n≦255 | MVARCHAR(n) 1≦n≦255 |
---|
SMALLINT | ◎ | | | | | | | | |
INTEGER | | ◎ | | | | | | | |
DECIMAL(p,s), NUMERIC(p,s) 1≦p≦38 0≦s≦p | | | ◎※2※4 | | | | | | |
SMALLFLT又はREAL | | | | ◎ | | | | | |
FLOAT又はDOUBLE PRECISION | | | | | ◎ | | | | |
CHAR(n) 1≦n≦255 | | | | | | ◎※3 | | | |
CHAR(n) 256≦n≦30,000 | | | | | | | | | |
VARCHAR(n) 1≦n≦255 | | | | | | | ◎※3 | | |
VARCHAR(n) 256≦n≦32,000 | | | | | | | | | |
MCHAR(n) 1≦n≦255 | | | | | | | | ◎※3 | |
MCHAR(n) 256≦n≦30,000 | | | | | | | | | |
MVARCHAR(n) 1≦n≦255 | | | | | | | | | ◎※3 |
MVARCHAR(n) 256≦n≦32,000 | | | | | | | | | |
NCHAR(n) 1≦n≦127 | | | | | | | | | |
NCHAR(n) 128≦n≦15,000 | | | | | | | | | |
NVARCHAR(n) 1≦n≦127 | | | | | | | | | |
VARCHAR(n) 128≦n≦16,000 | | | | | | | | | |
DATE | | | | | | | | | |
TIME | | | | | | | | | |
TIMESTAMP(p) p=0,2,4,又は6 | | | | | | | | | |
INTERVAL YEAR TO DAY | | | | | | | | | |
INTERVAL HOUR TO SECOND | | | | | | | | | |
BLOB | | | | | | | | | |
BINARY(n) 1≦n≦255 | | | | | | | | | |
BINARY(n) 256≦n≦32,000 | | | | | | | | | |
BINARY(n) 32,001≦n≦2,147,483,647 | | | | | | | | | |
- (凡例)
- ◎:推奨するデータ型です。
- 空白:マッピングできないデータ型です。
- 注
- 外部サーバ上の256バイト以上の列に対して,255バイトの文字列型を定義した場合,255バイトまでのデータしか取得できません。
- 注※1
- 表現できる値の精度が落ちる場合があります。HiRDBでの値の範囲及び精度は,ハードウェアに依存します。
- 注※2
- 外部のDBのデータを取得する場合
外部のDBの整数部のけた数がHiRDBのデータ型より大きい場合,エラーとなります。
外部のDBの小数部のけた数がHiRDBのデータ型より大きい場合,HiRDBのデータ型の小数部のけた数に合わせて,残りの小数部を切り捨てて取得します。
外部のDBの整数部又は小数部のけた数がHiRDBのデータ型より小さい場合は,HiRDBのデータ型のけた数に合わせて拡張した部分に,0を補って取得します。
- 外部のDBにデータを代入する場合
外部のDBの整数部のけた数がHiRDBのデータ型より小さい場合,エラーとなります。
外部のDBの小数部のけた数がHiRDBのデータ型より小さい場合,外部のDBの小数部のけた数に合わせて,残りの小数部を切り捨てて代入します。
外部のDBの整数部又は小数部のけた数がHiRDBのデータ型より大きい場合,外部のDBの整数部のけた数に合わせて拡張した部分に,0を補って代入します。
- 注※3
- 外部サーバとHiRDBのデータ型の定義長を同じにしてください。
- 外部サーバのデータを取得する場合
HiRDBのデータ型の定義長(長さnバイト:n≦255)が,外部サーバのデータ型の実長より短い場合,先頭のnバイトだけを取得します。
また,長い場合,HiRDBが固定長のデータ型のときは左詰めに挿入され,余りの部分に空白(各国文字列の場合は全角空白,文字列又は混在文字列の場合は半角空白)を設定して取得します。
HiRDBが可変長のデータ型の場合,そのまま取得します。
- 外部サーバにデータを代入する場合
HiRDBのデータ型の定義長(長さnバイト:n≦255)が,外部サーバのデータ型の実長より長い場合,エラーになります。
また,短い場合,HiRDBが固定長のデータ型のときは左詰めに挿入され,余りの部分に空白(各国文字列の場合は全角空白,文字列又は混在文字列の場合は半角空白)を設定して代入します。
HiRDBが可変長のデータ型の場合,そのまま代入します。
- 注※4
- p,sを省略して定義している場合,外部サーバによって省略時の精度,及び位取りの仮定値が異なるため,それに従って外部サーバでの精度(p),及び位取り(s)を,それぞれ外部表定義での精度(m),及び位取り(n)と一致させてください。省略時以外は,DECIMAL(m,n)をDECIMAL(p,s)としてください。
表C-2 データ型の対応関係(外部のDBがHiRDBの場合)(2/2)
HiRDBのデータ型 (外部のDB) | HiRDBのデータ型 |
---|
NCHAR(n) 1≦n≦127 | NVARCHAR(n) 1≦n≦127 | DATE | TIME | TIMESTAMP(p) p=0,2,4,又は6 | INTERVAL YEAR TO DAY | INTERVAL HOUR TO SECOND | BINARY(n) 1≦n≦255 |
---|
SMALLINT | | | | | | | | |
INTEGER | | | | | | | | |
DECIMAL(p,s), NUMERIC(p,s) 1≦p≦38 0≦s≦p | | | | | | | | |
SMALLFLT又はREAL | | | | | | | | |
FLOAT又はDOUBLE PRECISION | | | | | | | | |
CHAR(n) 1≦n≦255 | | | | | | | | |
CHAR(n) 256≦n≦30,000 | | | | | | | | |
VARCHAR(n) 1≦n≦255 | | | | | | | | |
VARCHAR(n) 256≦n≦32,000 | | | | | | | | |
MCHAR(n) 1≦n≦255 | | | | | | | | |
MCHAR(n) 256≦n≦30,000 | | | | | | | | |
MVARCHAR(n) 1≦n≦255 | | | | | | | | |
MVARCHAR(n) 256≦n≦32,000 | | | | | | | | |
NCHAR(n) 1≦n≦127 | ◎※1 | | | | | | | |
NCHAR(n) 128≦n≦15,000 | | | | | | | | |
NVARCHAR(n) 1≦n≦127 | | ◎※1 | | | | | | |
NVARCHAR(n) 128≦n≦16,000 | | | | | | | | |
DATE | | | ◎ | | | | | |
TIME | | | | ◎ | | | | |
TIMESTAMP(p) p=0,2,4,又は6 | | | | | ◎※2 | | | |
INTERVAL YEAR TO DAY | | | | | | ◎ | | |
INTERVAL HOUR TO SECOND | | | | | | | ◎ | |
BLOB | | | | | | | | |
BINARY(n) 1≦n≦255 | | | | | | | | ◎※1 |
BINARY(n) 256≦n≦32,000 | | | | | | | | |
BINARY(n) 32,001≦n≦2,147,483,647 | | | | | | | | |
- (凡例)
- ◎:推奨するデータ型です。
- 空白:マッピングできないデータ型です。
- 注
- 外部サーバ上の256バイト以上の列に対して,255バイトの文字列型を定義した場合,255バイトまでのデータしか取得できません。
- 注※1
- 外部サーバとHiRDBのデータ型の定義長を同じにしてください。
- 外部サーバからデータを取得する場合
HiRDBのデータ型の定義長(長さnバイト:n≦255)が,外部サーバのデータ型の実長より短い場合,先頭のnバイトだけを取得します。
また,長い場合,HiRDBが固定長のデータ型のときは左詰めに挿入され,余りの部分に空白(各国文字列の場合は全角空白,文字列又は混在文字列の場合は半角空白)を設定して取得します。
HiRDBが可変長のデータ型の場合,そのまま取得します。
- 外部サーバにデータを挿入する場合
HiRDBのデータ型の定義長(長さnバイト:n≦255)が,外部サーバのデータ型の実長より長い場合,エラーになります。
また,短い場合,HiRDBが固定長のデータ型のときは左詰めに挿入され,余りの部分に空白(各国文字列の場合は全角空白,文字列又は混在文字列の場合は半角空白)を設定して代入します。
HiRDBが可変長のデータ型の場合,そのまま代入します。
- 注※2
- 外部サーバとHiRDBのデータ型の小数秒精度を同じにしてください。
- HiRDBのデータ型の小数秒精度の方が低い場合,HiRDBのデータ型の精度に合わせて残りの小数秒部分を切り捨てて取得します。
- また,高い場合,HiRDBのデータ型の精度に合わせて拡張した小数秒部分に,0を補って取得します。