付録C.1 外部のDBがHiRDBの場合

データ型の対応関係(外部のDBがHiRDBの場合)を表C-1及び表C-2に示します。

表C-1 データ型の対応関係(外部のDBがHiRDBの場合)(1/2)

HiRDBのデータ型
(外部のDB)
HiRDBのデータ型
SMALLINTINTEGERDECIMAL(m,n)又はNUMERIC(m,n)
1≦m≦38,0≦n≦m
SMALLFLT又はREAL※1FLOAT又はDOUBLE PRECISION※1CHAR(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
DATETIMETIMESTAMP(p)
p=0,2,4,又は6
INTERVAL YEAR TO DAYINTERVAL HOUR TO SECONDBINARY(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を補って取得します。