The base SQLTYPE and SQLLEN of host variables are determined according to the following table. If a host variable appears with an indicator variable, the SQLTYPE is the base SQLTYPE plus one.
PL/I Data Type | SQLTYPE of Host Variable | SQLLEN of Host Variable | SQL Data Type |
---|---|---|---|
BIN FIXED(n), n < 16 | 500 | 2 | SMALLINT |
BIN FIXED(n), 16 ≤ n ≤ 31 | 496 | 4 | INTEGER |
DEC FIXED(p,s) | 484 | p
(byte 1)
s (byte 2) |
DECIMAL(p,s) |
BIN FLOAT(p), 24 ≤ n ≤ 52 | 480 | 8 | FLOAT |
CHAR(n), 1 ≤ n ≤ 254 | 452 | n | CHAR(n) |
CHAR(n) VARYING, 1 ≤ n ≤ 4000 | 448 | n | VARCHAR(n) |
CHAR(n) VARYING, n > 4000 | 456 | n | LONG VARCHAR |
The following table can be used to determine the PL/I data type that is equivalent to a given SQL data type.
SQL Data Type | PL/I Equivalent | Notes |
---|---|---|
SMALLINT | BIN FIXED(15) | |
INTEGER | BIN FIXED(31) | |
DECIMAL(p,s) | DEC FIXED(p) or DEC FIXED(p,s) | 1 ≤ p ≤ 31 and 0 ≤ s ≤ p |
FLOAT | BIN FLOAT(p) | 24 ≤ p ≤ 52 |
CHAR(n) | CHAR(n) | 1 ≤ n ≤ 254 |
VARCHAR(n) | CHAR(n) VAR | 1 ≤ n ≤ 4000 |
LONG VARCHAR | CHAR(n) VAR | 4000 < n |
DATE | CHAR(n) | 10 ≤ n |
TIME | CHAR(n) | 8 ≤ n |
TIMESTAMP | CHAR(n) | 26 ≤ n |