Фильтр записей в оракуле

У меня есть набор записей в таблице, например

xyz_t
abc_y
pqr_12-11-2013
psq_1
App_tq2
xyzq_12-10-2014
lpqs_14-09-2012
llyt_23-09-2011
bytx_2
prdtc

Я хочу вывод

pqr_12-11-2013
xyzq_12-10-2014
lpqs_14-09-2012
llyt_23-09-2011

Я имею в виду только те записи, у которых дата имеет суффикс.

Заранее спасибо.

2 ответа

select s from t 
where regexp_like(s, '_[[:digit:]]{1,2}-[[:digit:]]{1,2}-[[:digit:]]{4}$');

[:digit:] - любая цифра (вы также можете использовать \d)

{4} - четыре раза

{1,2} - один или два раза

$ end строки (по умолчанию первый возврат каретки интерпретируется как конец)


Используйте регулярное выражение:

select your_column_name
from your_table
where REGEXP_LIKE(your_column_name, '.*\d{2}-\d{2}-\d{4}$')

licensed under cc by-sa 3.0 with attribution.