十六进制格式的DB2查询结果——需要字符/字符串
我有一个查询,可以使用python SQL tester在DB2表上运行,它返回我要查找的字符串值。十六进制格式的DB2查询结果——需要字符/字符串,db2,db2-400,Db2,Db2 400,我有一个查询,可以使用python SQL tester在DB2表上运行,它返回我要查找的字符串值。 但是,当我直接在数据库上运行它时,它会返回一个十六进制值。如果您能以字符串形式获得结果,我们将不胜感激 以下是字段定义: ORCTL CCDATA 243 A 14 256 Order Control File Data 我对iSeries的疑问是: select ccdata from ORCTL where ccctlk = 'BUYRAK'
但是,当我直接在数据库上运行它时,它会返回一个十六进制值。如果您能以字符串形式获得结果,我们将不胜感激
以下是字段定义:
ORCTL CCDATA 243 A 14 256 Order Control File Data
我对iSeries的疑问是:
select ccdata from ORCTL where ccctlk = 'BUYRAK'
我猜它不会回来了 相反,它正在返回EBCDIC 您的列可能被标记为CCSID 65535,它告诉系统不要翻译它 解决此问题的正确方法是确保使用适当的CCSID标记列;例如,37分是美国英语
另一种方法是在您使用的驱动程序设置中查找“强制转换”选项 我猜它不会回来了 相反,它正在返回EBCDIC 您的列可能被标记为CCSID 65535,它告诉系统不要翻译它 解决此问题的正确方法是确保使用适当的CCSID标记列;例如,37分是美国英语
另一种方法是在您使用的驱动程序设置中查找“强制转换”选项 使用您的查询,您可以使用另一个CCSID强制转换字符串,例如:
select cast(ccdata as char(14) CCSID 37) from ORCTL where ccctlk = 'BUYRAK'
使用查询,您可以使用另一个CCSID强制转换字符串,例如:
select cast(ccdata as char(14) CCSID 37) from ORCTL where ccctlk = 'BUYRAK'
好的,这是有道理的。这是AS/400上的一个表,所以我不能真正更改列。在DB2中有没有一种方法可以将这个值“转换”为可读文本?好的,这是有意义的。这是AS/400上的一个表,所以我不能真正更改列。在DB2中有没有办法将这个值“转换”成可读文本?这个问题解决了吗?解决办法是什么?我有一个问题:这个问题解决了吗?解决办法是什么?我这里有一个问题:相同的解决方案在这里不起作用:相同的解决方案在这里不起作用: