DB2查询结果为十六进制格式 - 需要字符/字符串

时间:2016-11-21 19:00:28

标签: db2 db2-400

我有一个查询,我可以使用我的python SQL测试器在DB2表上运行,并返回我正在寻找的字符串值。
但是,当我直接在我的数据库上运行它时,它返回一个十六进制值。任何将结果作为字符串的帮助都将非常感谢!
这是字段定义:

ORCTL      CCDATA         243      A   14  256 Order Control File Data 

我对iSeries的查询是:

select ccdata from ORCTL where ccctlk = 'BUYRAK'

2 个答案:

答案 0 :(得分:3)

使用您的查询,您可以使用另一个CCSID转换字符串,例如:

select cast(ccdata as char(14) CCSID 37) from ORCTL where ccctlk = 'BUYRAK'

答案 1 :(得分:1)

我的猜测是它不会返回十六进制......

而是它返回了EBCDIC。

您的专栏可能标有CCSID 65535,告知系统不要翻译它。

解决此问题的正确方法是确保使用适当的CCSID标记列;例如,37为美国英语。

另一种方法是寻找一种力量翻译"您正在使用的驱动程序设置中的选项。