4.2.2  XDM/RD E2のデータ型との対応関係

外部サーバがXDM/RD E2の場合,マッピング時のデータ型の対応関係を,表4-4および表4-5に示します。

表4-4 データ型の対応関係(外部サーバがXDM/RD E2の場合)(1/2)

XDM/RD E2のデータ型
(外部のDB)
 
HiRDBのデータ型
SMALLINTINTEGERDECIMAL(m,n)
1≦m≦29,0≦n≦m
SMALLFLTまたはREAL※4FLOATまたはDOUBLE PRECISION※4CHAR(n)
1≦n≦255
VARCHAR(n)
1≦n≦255
MCHAR(n)
1≦n≦255
MVARCHAR(n)
1≦n≦255
SMALLINT        
INTEGER        
DECIMAL(p,s)
1≦p≦15,
0≦s≦15
  ※1
※5※6
      
LARGE
DECIMAL(p,s)
または
NUMERIC(p,s)
1≦p≦29,
0≦s≦p
  ※1※6      
SMALLFLT
またはREAL
        
FLOATまたは
DOUBLE
PRECISION
        
CHAR(n)
1≦n≦255
     ※7   
CHAR(n)
256≦n
         
VARCHAR(n)
1≦n≦255
      ※7  
VARCHAR(n)
256≦n
         
LONG
VARCHAR(n)
1≦n≦255
      ※2※7  
LONG
VARCHAR(n)
256≦n
         
MCHAR(n)
1≦n≦255
       ※7 
MCHAR(n)
256≦n
         
MVARCHAR(n)
1≦n≦255
        ※7
MVARCHAR(n)
256≦n
         
LONG
MVARCHAR(n)
1≦n≦255
        ※2※7
LONG
MVARCHAR(n)
256≦n
         
NCHAR(n)
1≦n≦127
         
NCHAR(n)
128≦n
         
NVARCHAR(n)
1≦n≦127
         
NVARCHAR(n)
128≦n
         
LONG
NVARCHAR(n)
1≦n≦127
         
LONG
NVARCHAR(n)
128≦n
         
DATE         
TIME         
TIME(p)
p=0,2,4,または6
         
TIMESTAMP     
※3※7
   
TIMESTAMP(p)
p=0,2,4,または6
     
※3※7
   
INTERVAL
YEAR TO DAY
         
INTERVAL
HOUR TO
SECOND
         
INTERVAL
HOUR TO
SECOND(p)
p=0,2,4,または6
         
BLOB         
(凡例)
◎:推奨するデータ型です。
空白:マッピングできないデータ型です。
注1
外部サーバ上の256バイト以上の列に対して,255バイトの文字列型を定義した場合,255バイトまでのデータしか取得できません。
注2
XDM/RD E2の列の文字コードがEBCDIKまたはKEISの場合,2バイト文字を含む文字列のコード変換後のデータが,255バイトを超えるとエラーになります。
注※1
pおよびsを省略して定義している場合,外部サーバによって省略時の精度,および位取りの仮定値が異なるので,それに従って,外部サーバでの精度(p),および位取り(s)をそれぞれ外部表定義での精度(m),および位取り(n)と一致させてください。省略時以外はDECIMAL(m,n)をDECIMAL(p,s)としてください。
注※2
探索条件にLONG VARCHAR型,またはLONG MVARCHAR型の列を指定した場合,外部サーバでエラーとなることがあります。LONG VARCHAR型,およびLONG MVARCHAR型については,マニュアル「VOS3 データマネジメントシステム XDM E2系 XDM/RD E2 SQLリファレンス」を参照してください。
注※3
CHAR(n)(n=19,22,24,または26)にマップしてください。HiRDBでは,日時の文字列の形式は,n=19の場合は'YYYY-MM-DD hh:mm:ss'に,n=22,24,または26の場合は'YYYY-MM-DD hh:mm:ss.xxxxxx'(xはn=22の場合は2けた,24の場合は4けた,26の場合は6けた)になります。また,該当列に対して比較,演算をした場合,外部のDBでエラーとなったり,意図した結果が得られないことがあります。
注※4
表現できる値の精度が落ちる場合があります。HiRDBでの値の範囲および精度は,ハードウェアに依存します。
注※5
演算の結果,精度が15けたを超える場合はエラーとなります。
注※6
整数部のけた数がHiRDBのデータ型より小さい場合,エラーとなります。
小数部のけた数がHiRDBのデータ型より小さい場合,HiRDBのデータ型の小数部のけた数に合わせて残りの小数部を切り捨てて取得します。
それ以外の場合,整数部または小数部のけた数がHiRDBのデータ型より大きいときは,HiRDBのデータ型のけた数に合わせて拡張した部分に,0を補って取得します。
注※7
指定がない場合は,外部サーバとHiRDBのデータ型の定義長を同じにしてください。
HiRDBのデータ型の定義長(長さnバイト:n≦255)が外部サーバのデータ型の実長よりも短い場合,先頭のnバイトだけを取得します。
また,長い場合,HiRDBが固定長のデータ型のときは左詰めに挿入され,余りの部分に空白(各国文字列の場合は全角空白,文字列または混在文字列の場合は半角空白)を設定して取得します。
HiRDBが可変長のデータ型の場合,そのまま取得します。

 

表4-5 データ型の対応関係(外部サーバがXDM/RD E2の場合)(2/2)

XDM/RD E2のデータ型
(外部の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)
1≦p≦15,
0≦s≦15
        
LARGE
DECIMAL(p,s)
または
NUMERIC(p,s)
1≦p≦29,
0≦s≦p
        
SMALLFLTまたは
REAL
        
FLOATまたは
DOUBLE
PRECISION
        
CHAR(n)
1≦n≦255
        
CHAR(n)
256≦n
        
VARCHAR(n)
1≦n≦255
        
VARCHAR(n)
256≦n
        
LONG
VARCHAR(n)
1≦n≦255
        
LONG
VARCHAR(n)
256≦n
        
MCHAR(n)
1≦n≦255
        
MCHAR(n)
256≦n
        
MVARCHAR(n)
1≦n≦255
        
MVARCHAR(n)
256≦n
        
LONG
MVARCHAR(n)
1≦n≦255
        
LONG
MVARCHAR(n)
256≦n
        
NCHAR(n)
1≦n≦127
※4       
NCHAR(n)
128≦n
        
NVARCHAR(n)
1≦n≦127
 ※4      
NVARCHAR(n)
128≦n
        
LONG
NVARCHAR(n)
1≦n≦127
 ※1※4      
LONG
NVARCHAR(n)
128≦n
        
DATE       
TIME       
TIME(p)
p=0,2,4,または6
   ※2    
TIMESTAMP        
TIMESTAMP(p)
p=0,2,4,または6
        
INTERVAL
YEAR TO DAY
       
INTERVAL
HOUR TO
SECOND
       
INTERVAL
HOUR TO
SECOND(p)
p=0,2,4,または6
      ※3 
BLOB        
(凡例)
◎:推奨するデータ型です。
空白:マッピングできないデータ型です。
注1
外部サーバ上の256バイト以上の列に対して,255バイトの文字列型を定義した場合,255バイトまでのデータしか取得できません。
注2
XDM/RD E2の列の文字コードがEBCDIKまたはKEISの場合,2バイト文字を含む文字列のコード変換後のデータが,255バイトを超えるとエラーになります。
注※1
探索条件にLONG NVARCHAR型の列を指定した場合,外部サーバでエラーとなることがあります。LONG NVARCHAR型については,マニュアル「VOS3 データマネジメントシステム XDM E2系 XDM/RD E2 SQLリファレンス」を参照してください。
注※2
TIME型には,XDM/RD E2の精度pが0の場合だけマッピングできます。
注※3
INTERVAL HOUR TO SECOND型には,XDM/RD E2の精度pが0の場合だけマッピングできます。
注※4
指定がない場合は,外部サーバとHiRDBのデータ型の定義長を同じにしてください。
HiRDBのデータ型の定義長(長さnバイト:n≦255)が外部サーバのデータ型の実長よりも短い場合,先頭のnバイトだけを取得します。
また,長い場合,HiRDBが固定長のデータ型のときは左詰めに挿入され,余りの部分に空白(各国文字列の場合は全角空白,文字列または混在文字列の場合は半角空白)を設定して取得します。
HiRDBが可変長のデータ型の場合,そのまま取得します。