十六进制格式的 DB2 查询结果 -- 需要 Character/String
DB2 query results in Hex format -- Need Character/String
我有一个查询,我可以使用我的 python SQL 测试器在 DB2 table 上 运行,它 returns 字符串值我正在寻找。
但是,当我 运行 它直接在我的数据库中时,它 returns 是一个十六进制值。非常感谢任何帮助获取字符串形式的结果!
这是字段定义:
ORCTL CCDATA 243 A 14 256 Order Control File Data
我在 iSeries 上的查询是:
select ccdata from ORCTL where ccctlk = 'BUYRAK'
我的猜测是它没有返回十六进制...
而是返回 EBCDIC。
您的专栏可能带有 CCSID 65535 标记,它告诉系统不要翻译它。
解决此问题的正确方法是确保该列标记有适当的 CCSID;例如,美国英语为 37。
另一种方法是在您正在使用的驱动程序设置中寻找 "force translate" 选项。
使用您的查询,您可以使用另一个 CCSID 转换字符串,例如:
select cast(ccdata as char(14) CCSID 37) from ORCTL where ccctlk = 'BUYRAK'
我有一个查询,我可以使用我的 python SQL 测试器在 DB2 table 上 运行,它 returns 字符串值我正在寻找。
但是,当我 运行 它直接在我的数据库中时,它 returns 是一个十六进制值。非常感谢任何帮助获取字符串形式的结果!
这是字段定义:
ORCTL CCDATA 243 A 14 256 Order Control File Data
我在 iSeries 上的查询是:
select ccdata from ORCTL where ccctlk = 'BUYRAK'
我的猜测是它没有返回十六进制...
而是返回 EBCDIC。
您的专栏可能带有 CCSID 65535 标记,它告诉系统不要翻译它。
解决此问题的正确方法是确保该列标记有适当的 CCSID;例如,美国英语为 37。
另一种方法是在您正在使用的驱动程序设置中寻找 "force translate" 选项。
使用您的查询,您可以使用另一个 CCSID 转换字符串,例如:
select cast(ccdata as char(14) CCSID 37) from ORCTL where ccctlk = 'BUYRAK'