SQL/COBOL データ型マッピング

次の表は、ODBC SQL および COBOL 間でデータ型を変換する際に、OpenESQL で使用するマッピングを示します。

ODBC SQL 型 COBOL ピクチャ
SQL_CHAR(n)1 PIC X(n)  
SQL_NCHAR(n)1 PIC X(n) または PIC N(n)  
SQL_VARCHAR(n)1 PIC X(n)  
SQL_NVARCHAR(n)1 PIC X(n) または PIC N(n)  
SQL_LONGVARCHAR1 PIC X(max) または SQL TYPE LONG-VARCHAR(max)
SQL_NTEXT1 PIC X(max) または PIC N(max)
SQL_DECIMAL(p,s) または SQL_NUMERIC(p,s) PIC S9(p-s)V9(S) COMP-3 p = 精度 (桁数の合計)。

s = スケール (小数点以下の桁数)。

OpenESQL では、符号なしパック 10 進ホスト変数の使用はサポートされません。

SQL_SMALLINT PIC S9(4) COMP-5  
SQL_INTEGER PIC S9(9) COMP-5  
SQL_REAL COMP-1  
SQL_FLOAT COMP-2  
SQL_DOUBLE COMP-2  
SQL_BIT PIC S9(4) COMP-5  
SQL_TINYINT PIC S9(4) COMP-5  
SQL_BIGINT PIC S9(18) COMP-3  
SQL_BINARY(n) PIC X(n) または SQL TYPE BINARY(n)  
SQL_VARBINARY(n) PIC X(n) ) または SQL TYPE VARBINARY(n)  
SQL_LONVARBINARY PIC X(max) または SQL TYPE LONG-VARBINARY(max)  
SQL_DATE または SQL_TYPE_DATE PIC X(10) ) または SQL TYPE DATE yyyy-mm-dd
SQL_TIME、SQL_TYPE_TIME、または SQL_SS_TIME2 PIC X(8)、SQL TYPE TIME、または SQL TYPE TIME-RECORD hh:mm:ss
SQL_TIMESTAMP または SQL_TYPE_TIMESTAMP PIC X(29)、SQL TYPE TIMESTAMP、または SQL TYPE TIMESTAMP-RECORD yyyy-mm-ddhh:mm:ss.ffffff
SQL_SS_TIMESTAMPOFFSET PIC X(34) yyyy-mm-ddhh:mm:ss.ffffff +/-hh:mm
1国際データを保持するホスト変数、特に PIC N および PIC G ホスト変数の使用に関する詳細については、「OpenESQL のグローバリゼーション ベスト プラクティス」を参照してください。