日期:2014-05-17  浏览次数:20828 次

select 查询中判断字符串格式
我有一个select 查询语句,其中有一栏,我想让它只含有字母和数字,怎样过滤

ID ITEM
ASD3 000
A SD 023
A#pk 5


比如上面结果,我想要ID栏只含有字母和数字的结果,其它的比如空格,#等都过滤

oracle有没有类似的函数可以过滤下

------解决方案--------------------
SQL code

with t as
(
select 'ASD3' ID,'000' ITEM from dual
union all
select 'A SD','023' from dual
union all
select 'A#pk','5' from dual
union all
select ' ','5' from dual
)select * from t where regexp_like(id, '^([a-z]|[A-Z]|[0-9])*$');   --只包含大小字母或数字

------解决方案--------------------
正则匹配过滤 regexp_like