Mega Code Archive

 
Categories / Oracle PLSQL Tutorial / Regular Expressions Functions
 

Regexp_like(comments, f[a-z] ,i)

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> 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> 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>