regexp_like(comments, ' f[a-z]* ','i') : REGEXP_LIKE « Regular Expressions Functions « Oracle PL/SQL Tutorial






SQL>
SQL> create table history
  2  ( empno      NUMBER(4)
  3  , beginyear  NUMBER(4)
  4  , begindate  DATE
  5  , enddate    DATE
  6  , deptno     NUMBER(2)
  7  , msal       NUMBER(6,2)
  8  , comments   VARCHAR2(60)
  9  ) ;

Table created.

SQL>
SQL>
SQL>
SQL> insert into history values (9,2000,date '2000-01-01',date '2002-01-02',40, 950,'history for 9');

1 row created.

SQL> insert into history values (8,2000,date '2000-01-02', NULL       ,20, 800,'');

1 row created.

SQL> insert into history values (7,1988,date '2000-01-06',date '2002-01-07',30,1000,'');

1 row created.

SQL> insert into history values (6,1989,date '2000-01-07',date '2002-01-12',30,1300,'');

1 row created.

SQL> insert into history values (5,1993,date '2000-01-12',date '2002-01-10',30,1500,'history for 5');

1 row created.

SQL> insert into history values (4,1995,date '2000-01-10',date '2002-01-11',30,1700,'');

1 row created.

SQL> insert into history values (3,1999,date '2000-01-11', NULL       ,30,1600,'');

1 row created.

SQL> insert into history values (2,1986,date '2000-01-10',date '2002-01-08',20,1000,'history for 2');

1 row created.

SQL> insert into history values (1,1987,date '2000-01-08',date '2002-01-01',30,1000,'history for 1');

1 row created.

SQL> insert into history values (7,1989,date '2000-01-01',date '2002-05-12',30,1150,'history for 7');

1 row created.

SQL>
SQL>
SQL> select regexp_replace(comments, ' f[a-z]* ',' ? ',1,1,'i')
  2  from   history
  3  where  regexp_like(comments, ' f[a-z]* ','i');

REGEXP_REPLACE(COMMENTS,'F[A-Z]*','?',1,1,'I')
----------------------------------------------------------------------------------------------------
history ? 9
history ? 5
history ? 2
history ? 1
history ? 7

SQL>
SQL> drop table history;

Table dropped.

SQL>








18.3.REGEXP_LIKE
18.3.1.REGEXP_LIKE(x, pattern [, match_option]) searchs x for the regular expression pattern.
18.3.2.Regexp_Like
18.3.3.Asking for the presence of a 'g' or a 'p'
18.3.4.Asking for the presence of a 'g' or a 'p' with REGEXP_LIKE
18.3.5.Retrieves employees whose first name starts with J or j.
18.3.6.regexp_like(comments, ' f[a-z]* ','i')
18.3.7.regexp_like(comments, '([^ ]+ ){8,}')
18.3.8.Using regexp_like(comments, '([[:alnum:]+[:punct:]]+[[:space:]]+){8,}')