Oracle. Регулярные выражения

Usmanova72

я не изучаю оракл, но понадобились след знания
в винде * - означает группу символов, в оракле %
в винде ? - означает один символ, в оракле _
мне нужно указать выборку символов например 12<1;2;3>, т.е. подходит 121, 122, 123. Как это в оракле сделать?

evgen5555

121 OR 122 OR 123

evgen5555

Или BETWEEN 121 AND 123

evgen5555

Тоже оракл не знаю

Usmanova72

не без слов, именно по аналогии как я написал. это так фильтры настраиваю.

artimon

То, что ты перечислил это просто SQL. Того, что ты хочешь с его помощью сделать нельзя. Возможно в Oracle есть какой-нибудь собственный аналог регэкспов.
Сосбвенно, гугление дало http://www.adp-gmbh.ch/ora/sql/re/regexp_like.html

Usmanova72

т.е.
синтаксис такой?
{n} Exactly n repetitions of the preceding element. The preceding element can be grouped with
{n,} Matches n or more repetitions of the preceding element. The preceding element can be grouped with
{m,n} Matches between m and n repetitions of the preceding element. The preceding element can be grouped with
[abc] Character list, matches a, b OR c.
[g-l] g, h, i, j, k, OR l
12[1-3] так?

Usmanova72

я правильно понял или нет?

artimon

Да. Вот только там используется команда regexp_like вместо like.

Usmanova72

вообще это не подходит, это стало доступно только с 10-го.

KViH

http://metalink.oracle.com/metalink/plsql/ml2_doc...
http://metalink.oracle.com/metalink/plsql/ml2_doc...
проще сделать хранимые java-процедуры

Usmanova72

я не прогер, и не выбираю, что лучше, тем более это локальная задача была, можно сказать даже не задача по стравнению с общим проектом.
Оставить комментарий
Имя или ник:
Комментарий: