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 |