IBMi 上是否有 EBCDIC_STR 功能
Is there an EBCDIC_STR function on IBMi
我 运行 遇到了字符编码问题,我在 z/OS 的 Db2
中找到了函数 EBCDIC_STR
、ASCII_STR
。 Db2
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)
我 运行 遇到了字符编码问题,我在 z/OS 的 Db2
中找到了函数 EBCDIC_STR
、ASCII_STR
。 Db2
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)