The following table describes data type compatibility for SQL Server.
SQL Type | COBOL Type | Description |
---|---|---|
CHAR(n)* | 01 name PIC X(n) . | Fixed-length character string |
DATETIME | 01 name PIC X(25) . | 25-byte character string |
DECIMAL(p,n) | 01
name PIC
S9(m)V9(n) COMP-3 . |
Packed decimal
(where m = p - n) |
DOUBLE PRECISION | 01 name USAGE IS DOUBLE. | Double-precision floating point |
INTEGER | 01 name PIC S9(9) COMP-5. | 32-bit signed integer |
REAL | 01 name PIC S9(4) USAGE IS COMP-1. | Single-precision floating point |
SMALLINT | 01 name PIC S9(4) COMP-5. | 16-bit signed integer |
VARCHAR(n)** | 01
name.
49 name-length PIC S9(4) COMP-5. 49 name-name PIC X(n). |
Variable-length character string (n <= 4000) |
DATETIME | 01 name PIC X(24). | 8-character string |
* To be treated as a VARCHAR, the elementary items in a group item consisting of only a numeric item and a character item need to be level 49 as in the following:
01 my-record. 49 my-number pic s9(3) comp-5. 49 my-name pic x(20).