Oracle PL/SQL/Regular Expressions/Range — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
|
(нет различий)
|
Версия 13:45, 26 мая 2010
Ranges (Minus Signs): Create a range for a match using a minus sign
SQL> create table TestTable(
2 ID VARCHAR2(4 BYTE) NOT NULL,
3 Description VARCHAR2(40 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> -- Ranges (Minus Signs): Create a range for a match using a minus sign
SQL>
SQL> -- Create a range for a match using a minus sign.
SQL>
SQL> -- Ask for the letters "a" through "j" followed by an "n"
SQL>
SQL> SELECT description, REGEXP_INSTR(description,"[a-j]n") where_it_is
2 FROM testTable
3 WHERE REGEXP_INSTR(description,"[a-j]n") > 0;
DESCRIPTION WHERE_IT_IS
---------------------------------------- -----------
1 Culloden Street 9
One than another 7
SQL>
SQL>
SQL> drop table TestTable;
Table dropped.
SQL>
SQL>
SQL>