使用Regexp_like plsql对字母数字值进行区分性搜索

时间:2016-04-13 13:36:35

标签: oracle plsql regexp-like

我正在尝试在列中找到字母数字值,区分大小写 我试过这种模式,但它不起作用。

`REGEXP_LIKE ('1000 - 2000 test', '^[0-9]{4} - [0-9]{4} test', 'c')`

或区分大小写不能用于字母数字值吗?

1 个答案:

答案 0 :(得分:0)

阅读手册http://docs.oracle.com/cd/B12037_01/server.101/b10759/conditions018.htm;)

 select * from (
           select '1000 - 2000 test' a from dual
 union all select '1000 - 2123 TEST' a from dual
) where
REGEXP_LIKE(a, '^[0-9]{4} - [0-9]{4} test', 'c');

返回

1000 - 2000 test
由于'c'

区分大小写,因此上面给出了1行,而在下面,使用'i' 不区分大小写的,给出2:

 select * from (
           select '1000 - 2000 test' a from dual
 union all select '1000 - 2123 TEST' a from dual
) where
REGEXP_LIKE(a, '^[0-9]{4} - [0-9]{4} test', 'i');

返回

1000 - 2000 test
1000 - 2123 TEST