我想将包含数字数据的10位字符字段转换为8字节的二进制文件,以插入DB2 BIGINT字段。
INPUT
-------
1531245800ABC
1531457890DEF
OUTPUT
-------
<8 byte numeric data>ABC
<8 byte numeric data>DEF
加载卡
LOAD DATA
LOG NO
REPLACE
UNICODE CCSID(01208,00000,00000)
SORTDEVT SYSDA
SORTNUM 12
INTO TABLE
<TABLE-NAME>
KEEPDICTIONARY
(
QUOTEID POSITION (1)
BIGINT
,
GEO
POSITION ( 9 ) CHAR MIXED(3))
答案 0 :(得分:1)
使用DFSORT符号,让您和将来的用户更轻松:
//TOBIGINT EXEC PGM=SORT
//SYMNAMES DD *
INPUT-CHARACTER-NUMERIC,1,10,ZD
INPUT-CHARACTER-REST,*,3,CH
//SYMNOUT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SORTOUT DD SYSOUT=*
//SYSIN DD *
OPTION COPY
INREC BUILD=(INPUT-CHARACTER-NUMERIC,
TO=BI,
LENGTH=8,
INPUT-CHARACTER-REST)
//SORTIN DD *
1531245800ABC
1531457890DEF
或者传统的开始,长度,类型编码:
//TOBIGINT EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTOUT DD SYSOUT=*
//SYSIN DD *
OPTION COPY
INREC BUILD=(1,10,ZD,
TO=BI,
LENGTH=8,
11,3)
//SORTIN DD *
1531245800ABC
1531457890DEF
输出为X'000000005B44F4E8',然后是ABC和X'000000005B483162',然后是DEF。