【发布时间】:2011-11-26 06:19:05
【问题描述】:
我需要在一组超过 400k 的字符串记录中查找并清理换行符、回车、制表符和“SUB”字符,但是这个 DB2 环境对我造成了影响。
以为我可以用 REPLACE() 和 CHR() 函数进行一些搜索和替换,但似乎 CHR() 在此系统上不可用(错误:*LIBL 类型 *N 中的 CHR 未找到)。使用 \t、\r、\n 等似乎也不起作用。字符可以位于字符串的中间或末尾。
DBMS = DB2
System = iSeries
Language = SQL
Encoding = Not sure, possibly EBCDIC
关于我可以用这个做什么的任何提示?
【问题讨论】:
-
您可以随时导出数据、处理并放回数据。我以前做过。我使用 Squirrel SQL 将 DB2 表移至 MySQL 进行测试,然后再将 DB2 移回生产环境(许多 GB)。使用 squirrel 的问题包括:缺少进度指示,并且需要将整个表保存在内存中,包括 SLQ 标记,因此您需要增加 Java 内存限制。取决于字符串大小,但希望几个 Gig 就足够了。这也必须在本地完成,否则带宽可能会成为问题。
-
哦,还有一件事......由于关键字和引用的不同,您可能需要应用几个正则表达式才能导入。在一个像样的文本编辑器中确实没有什么搜索和替换不能处理的(假设它可以处理至少 40 万条记录!)哦 Squirrel 甚至会为你编写表定义。
标签: sql db2 ibm-midrange replace