Microsoft SQL Server Data Type Compatibility

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
DATE[1] 01 name PIC X(10) 10-character date string in the format YYYYMMDD
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).