我需要在一组 400k+ 字符串记录中查找并清理换行符、回车符、制表符和“SUB”字符,但是这个 DB2 环境对我造成了影响。

以为我可以用 REPLACE() 和 CHR() 函数进行一些搜索和替换,但似乎 CHR() 在此系统上不可用(错误:*LIBL 类型中的 CHR *N 未找到)。使用\t、\r、\n 等似乎也不起作用。字符可以位于字符串的中间或末尾。

DBMS = DB2
System = iSeries
Language = SQL
Encoding = Not sure, possibly EBCDIC

关于我可以用它做什么的任何提示?

最佳答案

如果要清除特定字符,例如回车 (EBCDIC x'0d') 和换行符 (EBCDIC x'25'),您应该找到 translated character in EBCDIC 然后使用 TRANSLATE() 函数将它们替换为空格。

如果您只想删除无法显示的字符,请在 x'40' 下查找任何内容。

10-04 20:14