【发布时间】:2012-08-15 12:50:36
【问题描述】:
我有这样的字符串:
var = This a string, [This is another string]
我想让它们在 PLSQL 中分解成这样的东西
var1 = This is string
var2 = This is another string
如果是这样的,则不应包含逗号:
, [
基本上这决定是否有另一个字符串。
我该怎么做?
提前致谢:-)
【问题讨论】:
我有这样的字符串:
var = This a string, [This is another string]
我想让它们在 PLSQL 中分解成这样的东西
var1 = This is string
var2 = This is another string
如果是这样的,则不应包含逗号:
, [
基本上这决定是否有另一个字符串。
我该怎么做?
提前致谢:-)
【问题讨论】:
【讨论】:
NVL 包装该表达式,并在这种情况下使用原始字符串。我已经编辑了我的答案以反映这一点。
我认为这会给你想要的,尽管我对你的解析要求不是 100% 清楚。
var1 := regexp_replace( var, '^([^[,]*).*$', '\1')
var2 := regexp_replace( var, '^[^[]*(\[([^]]*)\])?.*$', '\2')
这是一个测试正则表达式函数的sql fiddle。
我也不确定正则表达式解决方案与其他方法的性能。
【讨论】: