从DB2 for iSeries中的Hex Value到EBCDIC

时间:2018-01-15 15:14:04

标签: db2 db2-400

我从查询中返回了这样的HEX数据(F9F9F9F9)。当我从IBM链接检查时: https://www.ibm.com/support/knowledgecenter/en/SS2MB5_14.1.0/com.ibm.xlf141.bg.doc/language_ref/asciit.html

F9 = 9且F9 = 9

这里我应该得到结果为9999

我在表格中大约有1000个这样的十六进制记录。

如何将此十六进制值转换为相应的EBCDIC?

我试过了:

  select cast(col char(2) as codebase(37)) from table

但是,它不起作用。       这个链接也不起作用:我不确定它是一个cobol代码还是DB2脚本。 :http://www.ibmmainframeforum.com/db2/topic8785.html

请帮忙。谢谢。

1 个答案:

答案 0 :(得分:0)

select cast(col char(2) as codebase(37)) from table

更正语法。

select cast(col as char(2) ccsid 37) as col from table

一般来说,你不想一遍又一遍地这样做,所以可能只是改变一下。

ALTER TABLE mylib/Z1 ALTER COLUMN JOJOB SET DATA TYPE CHARACTER ( 
10) CCSID 37 NOT NULL WITH DEFAULT 

或者在表格上创建一个只读数据视图并从视图中读取。

create view tablev as 
select cast(col as char(2) ccsid 37) as col from table