regexp_like(comments, '([[:alnum:]+[:punct:]]+[[:space:]]+){8,}') : REGEXP_LIKE « Regular Expressions « Oracle PL / SQL






regexp_like(comments, '([[:alnum:]+[:punct:]]+[[:space:]]+){8,}')

  
SQL>
SQL> create table history
  2  ( empno      NUMBER(4)
  3  , beginyear  NUMBER(4)
  4  , begindate  DATE
  5  , enddate    DATE
  6  , deptno     NUMBER(2)
  7  , sal        NUMBER(6,2)
  8  , comments   VARCHAR2(60)
  9  , constraint H_PK         primary key(empno,begindate)
 10  , constraint H_BEG_END    check      (begindate < enddate)
 11  ) ;

Table created.

SQL>
SQL>
SQL> alter session  set NLS_DATE_FORMAT='DD-MM-YYYY';

Session altered.

SQL>
SQL> insert into history values (1,2000,'01-01-2000','01-02-2000',40, 950,'');

1 row created.

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

1 row created.

SQL> insert into history values (2,2009,'01-11-2009', NULL       ,30,1600,'just hired');

1 row created.

SQL> insert into history values (3,1987,'01-08-1987','01-01-1989',30,1000,'On training');

1 row created.

SQL> insert into history values (3,2000,'01-02-2000', NULL       ,30,1250,'');

1 row created.

SQL>
SQL> select comments
  2  from   history
  3  where  regexp_like(comments, '([[:alnum:]+[:punct:]]+[[:space:]]+){8,}');

no rows selected

SQL>
SQL> drop table history;

Table dropped.

   
    
  








Related examples in the same category

1.REGEXP_LIKE: The LIKE predicate has an regular expression counterpart
2.Use the negating caret: REGEXP_LIKE(description,'[^mn]')
3.REGEXP_LIKE(TO_CHAR(start_date, 'YYYY'), '^199[5-8]$')
4.REGEXP_LIKE(first_name, '^j', 'i'): First name starts with J or j