Учитывая данные этого теста ...
SQL> select name
2 from t23
3 /
NAME
----------
SAM-I-AM
MR KNOX
X11
CAT
LORAX
SQL>
... следующий запрос использует REGEXP_LIKE () для возврата записей, первые четыре символа которых содержат только буквы или дефисы:
SQL> select name
2 from t23
3 where regexp_like(name, '^[[:alpha:]\-]{4}')
4 /
NAME
----------
SAM-I-AM
LORAX
SQL>
Мы также можем использовать REGEXP_INSTR () с тем же базовым шаблоном (я опустил ведущую каретку):
SQL> select name
2 from t23
3 where regexp_instr(name, '[[:alpha:]\-]{4}', 1) = 1
4 /
NAME
----------
SAM-I-AM
LORAX
SQL>
Oracle добавила полную поддержку регулярных выражений в свой SQL в версии 10g. Узнайте больше .