IBMi 上是否有 EBCDIC_STR 功能

Is there an EBCDIC_STR function on IBMi

我 运行 遇到了字符编码问题,我在 z/OS 的 Db2 中找到了函数 EBCDIC_STRASCII_STRDb2 for IBM i 是否有类似的功能?

从v7.2开始,DB2 for i也有类似的功能,就是CHAR。虽然它不是一个确切的替代品。 EBCDIC_STR returns 系统 EBCDIC CCSID 中的字符串,并为未知字符提供 UTF-16 编码,而 CHAR 获取字符串并将其转换为提供的 CCSID。 CHAR 没有为无法转换为新 CCSID 的字符定义行为。

我相信您必须在 SQL 语句中使用 CAST 规范,在其中指定所需的 CCSID,而不是使用内置函数。

This documentation page 给出了 CAST 规范的语法,但没有精确相关的示例。 DB2 for zOS CAST 页面给出了一个示例,在 i 系列上应该是相同的:

 CAST(MYDATA AS CHAR(10) CCSID 367)