我有一个查询,我可以使用我的python SQL测试器在DB2表上运行,并返回我正在寻找的字符串值。
但是,当我直接在我的数据库上运行它时,它返回一个十六进制值。任何将结果作为字符串的帮助都将非常感谢!
这是字段定义:
ORCTL CCDATA 243 A 14 256 Order Control File Data
我对iSeries的查询是:
select ccdata from ORCTL where ccctlk = 'BUYRAK'
答案 0 :(得分:3)
使用您的查询,您可以使用另一个CCSID转换字符串,例如:
select cast(ccdata as char(14) CCSID 37) from ORCTL where ccctlk = 'BUYRAK'
答案 1 :(得分:1)
我的猜测是它不会返回十六进制......
而是它返回了EBCDIC。您的专栏可能标有CCSID 65535,告知系统不要翻译它。
解决此问题的正确方法是确保使用适当的CCSID标记列;例如,37为美国英语。
另一种方法是寻找一种力量翻译"您正在使用的驱动程序设置中的选项。