REGEXP_SUBSTR QUERY

时间:2014-02-25 14:47:34

标签: sql regex oracle

任何人都可以解释为什么以下查询返回不同的结果?

SELECT REGEXP_SUBSTR('123 Maple Avenue', '[[:alpha:]]+') ADDRESS FROM DUAL;

结果:Maple

SELECT REGEXP_SUBSTR('123 Maple Avenue', '[:alpha:]+') ADDRESS FROM DUAL;

结果:apl

1 个答案:

答案 0 :(得分:2)

在第一个查询中,您使用的POSIX字符类[:alpha:]与字母数字字符匹配。

在第二个查询中,您将匹配 literal 字符“:alpha:”,它仅匹配示例字符串中的a,p和l。