在oracle中过滤记录

时间:2014-12-04 09:04:30

标签: regex oracle regex-negation

我在

这样的表中有一组记录
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 个答案:

答案 0 :(得分:2)

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

[:digit:] - 任何数字(您也可以使用\d

{4} - 四次

{1,2} - 一两次

$字符串的结尾(默认情况下,第一个回车被解释为结束)

答案 1 :(得分:1)

使用正则表达式:

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