使用 DFSORT 将 10 位字符数据转换为 DB2 BIGINT 类型
Converting 10-digit char data to DB2 BIGINT-type using DFSORT
我想将包含数字数据的 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))
使用 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。
我想将包含数字数据的 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))
使用 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。