次の表は、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) | SQL TYPE BINARY(n) | |
SQL_VARBINARY(n) | SQL TYPE VARBINARY(n) | |
SQL_LONGVARBINARY | 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 のグローバリゼーション ベスト プラクティス」を参照してください。 |