我想将一个包含数字数据的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)) 发布于 2016-04-02 18:14:56
使用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。
https://stackoverflow.com/questions/36376293
复制相似问题