Oracle SQL中的RegEx似乎不起作用

时间:2013-09-05 09:11:36

标签: sql regex oracle

我在oracle中遇到了一个关于正则表达式的小问题 我有一个表格如下,有3种字符串格式:

在我的表中,col1保存我拥有的字符串,col2是目标。

案例1:W1234W4321
案例2:W1234,W4321
案例3:W1234 / W4321
(长度和实际数字不同)

现在我已经设置了这个小正则表达式:[\d,/]W.*来分隔十进制,逗号和斜杠之后的两个值。
我在RegExBuddy工具中测试了结果,结果与预期一致。
使用以下查询更新我的表时,案例2和3正在更新,案例1在第2列中仍为空。

update nyTable set col2 = regexp_substr(col1, '[\d,/]W.*');

这是与oracle相关的一些问题(可能不理解\d)吗?

1 个答案:

答案 0 :(得分:1)

http://docs.oracle.com/cd/B19306_01/appdev.102/b14251/adfns_regexp.htm

\ d:数字字符。它相当于POSIX类[[:digit:]]。