REGEXP_LIKE: The LIKE predicate has an regular expression counterpart : REGEXP_LIKE « Regular Expressions « Oracle PL / SQL






REGEXP_LIKE: The LIKE predicate has an regular expression counterpart

 


SQL> create table TestTable(
  2    ID                    VARCHAR2(4 BYTE)         NOT NULL,
  3    Description           VARCHAR2(30 BYTE)
  4  )
  5  /

Table created.

SQL>
SQL>
SQL> insert into TestTable (ID, Description) values('1','1234 5th Street');

1 row created.

SQL> insert into TestTable (ID, Description) values('2','1 Culloden Street');

1 row created.

SQL> insert into TestTable (ID, Description) values('3','1234 Road');

1 row created.

SQL> insert into TestTable (ID, Description) values('4','33 Thrid Road');

1 row created.

SQL> insert into TestTable (ID, Description) values('5','One than another');

1 row created.

SQL> insert into TestTable (ID, Description) values('6','2003 Movie');

1 row created.

SQL> insert into TestTable (ID, Description) values('7','Start With Letters');

1 row created.

SQL>
SQL> select * from TestTable;

ID   DESCRIPTION
---- ------------------------------
1    1234 5th Street
2    1 Culloden Street
3    1234 Road
4    33 Thrid Road
5    One than another
6    2003 Movie
7    Start With Letters

7 rows selected.

SQL>
SQL>
SQL>
SQL>
SQL>
SQL> --Asking for the presence of a "g" or a "p". The "%" sign metacharacter matches zero, one, or more -
SQL> --characters and here is used before and after the letter we seek.
SQL>
SQL> --The LIKE predicate has an RE counterpart using bracket classes that is simpler.
SQL>
SQL> SELECT description
  2  FROM testTable
  3  WHERE REGEXP_LIKE(description,'[mn]');

DESCRIPTION
------------------------------
1 Culloden Street
One than another

SQL>
SQL>
SQL>
SQL>
SQL> drop table TestTable;

Table dropped.

SQL>
SQL>
           
         
  








Related examples in the same category

1.Use the negating caret: REGEXP_LIKE(description,'[^mn]')
2.REGEXP_LIKE(TO_CHAR(start_date, 'YYYY'), '^199[5-8]$')
3.REGEXP_LIKE(first_name, '^j', 'i'): First name starts with J or j
4.regexp_like(comments, '([[:alnum:]+[:punct:]]+[[:space:]]+){8,}')