将expersion的结尾部分与SQL ORACLE字母匹配

时间:2016-11-28 09:35:11

标签: sql oracle filter character letter

我在SQL表中有一列数据,在第一次传递后它只包含以'BVH'和'BVG'开头的数据。我希望它只包含此后有3个数字字符的数据,不再包含字母。我试过了

//toggle label
$('#check input').change(function(){
    if($(this).is(':checked'))
        $(this).next().text("Unsubscribed");
    else
        $(this).next().text("Subscribed");
});

因为我不知道这些字母是否会落在前3个字母后面的第一个,第二个或第三个(或多个)位置。我也不知道究竟会出现什么字母

示例数据

OUC not like 'BVG%[a-z]%' and OUC not like 'BVH%[a-z]%'

1 个答案:

答案 0 :(得分:0)

这就是你需要的吗?

with dat as (select 'BVH122' a from dual
   union all select 'BVH174' a from dual
   union all select 'BVG1NS' a from dual
   union all select 'BVH172' a from dual
   union all select 'BVG12T' a from dual
)
select * from dat where regexp_like(a,'[A-Z]{3}[0-9]{3}');

所以你的查询是:

select * from table where regexp_like(OUC,'BV[GH]{1}[0-9]{3}');