2015-05-06 4 views
0

У меня есть поле под названием Order_ID из таблицы Order.Как использовать Regex_Like для этого случая?

, когда значение Order_ID начинается с числового значения, оно должно исключать эти записи, в противном случае оно должно включать эти записи в отчет.

Например: если Order_ID начинается со значения 1ABC, он должен исключить эту запись из отчета.

Если Order_ID имеет значение A1BC, он не должен исключать эти записи.

ответ

0

Гаятри,
поставлены следующие в докладе, где состояние

WHERE NOT REGEXP_LIKE(Order_ID, '^[0-9]');

сообщить об исключении записей начинаются с цифр и содержат значения, начинающиеся только с алфавитов.

Надеюсь, это поможет.

+0

Спасибо всем за помощь. Логика отлично работает :) – Gayathri

1

http://docs.oracle.com/cd/B12037_01/server.101/b10759/conditions018.htm#SQLRF00501

для вашего конкретного случая это будет что-то вроде

SELECT ... WHERE REGEXP_LIKE (Order_ID, '^[a-zA-Z]+.*$'); 
+1

, но также я хотел бы упомянуть, что использование регулярных выражений может значительно замедлить производительность на больших наборах данных. Если вам нужно запускать подобные запросы, очень возможно, что это что-то не так с вашим дизайном, или, возможно, вам нужен дополнительный индексир из вашей базы данных. – Maks

0

Такое заявление REGEX (Order_ID, "[A-Z]{1}\d{1}[A-Z]{3}")

Смежные вопросы