Equi­va­lence Data type entre RPG ile et SQL DB2

Equi­va­lence Data type entre RPG ile et SQL DB2

mer 27 février 2019 0 Par Ibmiiste

Dans un billet pré­cé­dent, j’ai don­né les équi­va­lences entre Rpg colon­né et Free-form. Aujourd’­hui, nous allons y ajou­ter une colonne avec les équi­va­lences SQL DB2. 

Data type

Lettre ancienne forme

Free-form syn­tax

Examples

SQL DB2 Data-type

Alpha­nu­me­ricACHAR(len)
VARCHAR(len {: varying-size} )
DCL‑S libra­ry CHAR(10);
DCL‑S lib­fi­lem­br VARCHAR(33);
DCL‑S cmd­parm VARCHAR(10:4);
CHAR
VARCHAR len>254
UCS‑2CUCS2(len)
VARUCS2(len {: varying-size} )
DCL‑S first­Name UCS2(10);
DCL‑S file­Path VARUCS2(5000);
GRAPHIC(len) with CCSID 13488 or CCSID 1200
VARGRAPHIC(len) with CCSID 13488 or CCSID 1200
Gra­phicDBCSGRAPH(len)
VARGRAPH(len {: varying-size}
DCL‑S first­Name GRAPH(20);
DCL‑S full­Name VARGRAPH(50);
GRAPHIC(len)
VARGRAPHIC(len)
Indi­ca­torNINDDCL‑S isVa­lid IND ;
PackedPPACKED(digits {:deci­mals} )DCL‑S num­Re­cords PACKED(5);
DCL‑S sala­ry PACKED(15:2);
DECIMAL
ZonedSZONED(digits {: decimals} )DCL‑S num­Re­cords ZONED(5);
DCL‑S sala­ry ZONED(15:2);
NUMERIC
Bina­ryBBINDEC(digits {: decimals} )DCL‑S num­Re­cords BINDEC(9);
DCL‑S bonus BINDEC(9:2);
SMALLINT(1<=digits<=4)
INTEGER(5<=digits<=9)
Inte­gerIINT(digits)
Digits can be 3, 5, 10, 20
DCL‑S index INT(10);SMALLINT digits=5

INTEGER digits=10

BIGINT digits=20

Unsi­gnedUUNS(digits)
Digits can be 3, 5, 10, 20
DCL‑S count UNS(20);
FloatFFLOAT(bytes)
Bytes can be 4, 8
DCL‑S variance FLOAT(8);FLOAT
DateDDATE { (for­mat) }DCL‑S due­date DATE ;
DCL‑S dis­play­Date DATE(*YMD);
DATE DATFMT(f) DATSEP(s)

For­mat =fs

TimeTTIME { (for­mat) }DCL‑S start­Time TIME ;
DCL‑S dis­play­Time TIME(*USA);
TIME TIMFMT(f) TIMSEP(s)

For­mat =fs

Times­tampZTIMESTAMPDCL‑S start TIMESTAMP ;TIMESTAMP
Poin­ter*POINTERDCL‑S pUsers­pace POINTER ;
Pro­ce­dure
pointer
*POINTER(*PROC)DCL‑S pProc POINTER(*PROC);
ObjectOOBJECT{(*JAVA : class)}DCL‑S obj OBJECT(*JAVA:‘Cls’);