我遇到了字符编码问题,我在EBCDIC_STR
中为z / OS找到了函数ASCII_STR
,Db2
。对于IBM i,Db2
是否有类似的功能?
答案 0 :(得分:0)
从v7.2开始,DB2 for i中有一个类似的函数,它是CHAR
。但它不是一个确切的替代品。虽然EBCDIC_STR
在系统EBCDIC CCSID中返回一个字符串,并为未知字符提供UTF-16编码,但CHAR
接受一个字符串并将其转换为提供的CCSID。 CHAR
没有为无法转换为新CCSID的字符定义的行为。
答案 1 :(得分:0)
我相信你必须在SQL语句中使用CAST
规范,在其中指定所需的CCSID,而不是使用内置函数。
This documentation page给出了CAST规范的语法,但它没有精确相关的示例。 DB2 for zOS CAST
页面提供了一个在i系列上应该相同的示例:
CAST(MYDATA AS CHAR(10) CCSID 367)