【发布时间】:2014-10-10 21:41:04
【问题描述】:
我需要一种方法,使用 Oracle 11g PL/SQL 将 32 个字符的子字符串限制应用于双引号内的每组数据。
基本上使用按原样提供给我的以下示例字符串,因为我无法控制此字符串的构造方式:
str := ‘"AAAAAAA BBBBBBB CCCCCCC DDDDDD1","AAAAAAA BBBBBBB CCCCCCC DDDD",”QWERTY”,”N1N1N1N1N1N1N1N1N1N1N1N1N1N1N1N1N1N1”’;
我需要遍历每个双引号之间的每组值,例如 (“QWERTY”),并将 32 的子字符串应用于找到的每个分组。
所以使用上面的字符串示例,就像我需要执行以下操作:
str := ‘"substr(‘AAAAAAA BBBBBBB CCCCCCC DDDDDD1’,1,32)","substr(‘AAAAAAA BBBBBBB CCCCCCC DDDD’,1,32)",”substr(‘QWERTY’,1,32)”,”substr(‘N1N1N1N1N1N1N1N1N1N1N1N1N1N1N1N1N1N1’,1,32)”’;
所以最后,我对 str 的最终结果将包括四个分组,其中每个分组的长度小于或等于 32。
【问题讨论】:
-
它与 SQL 表有什么连接?
-
我不确定您是否可以在不使用 PL/SQL 来拆分字符串的情况下执行此操作。也许与正则表达式有关?不确定。
-
抱歉 - 可以使用 PL/SQL - 将更新我的问题。
标签: sql regex oracle oracle11g substring