-- 正则表达式检索 REGEXP_LIKE
-- 测试表
CREATE TABLE test_reg_like ( a varchar(20) );
INSERT INTO test_reg_like VALUES('ABC');
INSERT INTO test_reg_like VALUES('A12');
INSERT INTO test_reg_like VALUES('12a12');
3个参数
第一个是输入的字符串
第二个是正则表达式
第三个是取值范围:
i:大小写不敏感;
c:大小写敏感;
n:点号 . 不匹配换行符号;
m:多行模式;
x:扩展模式,忽略正则表达式中的空白字符。
全部测试数据
SQL> SELECT * FROM test_reg_like;
A
----------------------------------------
ABC
A12
12a12
匹配字母A的
SQL> SELECT
2 *
3 FROM
4 test_reg_like
5 WHERE
6 REGEXP_LIKE(a, 'A');
A
----------------------------------------
ABC
A12
匹配字母A的 (大小写不敏感)
SQL> SELECT
2 *
3 FROM
4 test_reg_like
5 WHERE
6 REGEXP_LIKE(a, 'A', 'i');
A
----------------------------------------
ABC
A12
12a12
匹配字母A 后面跟1个或多个数字的 (大小写不敏感)
SQL> SELECT
2 *
3 FROM
4 test_reg_like
5 WHERE
6 REGEXP_LIKE(a, 'A\d+', 'i');
A
----------------------------------------
A12
12a12
匹配字母A开头,数字结尾的
SQL> SELECT
2 *
3 FROM
4 test_reg_like
5 WHERE
6 REGEXP_LIKE(a, '^A.+\d$');
A
----------------------------------------
A12
可以的,我使用过。http://www.jb51.net/article/31227.htm
可以使用呀
必须可以.....