因版本早低,无正则表达式,我提出了TRANSLATE的方法,经qq群友tea改进
SQL> with a as (
select '-0' as VIRTUALNUMBER from dual union all
select '-123' as VIRTUALNUMBER from dual union all
select '-456' from dual union all
select '-789' from dual union all
select '-1.23' as VIRTUALNUMBER from dual union all
select '-.789' from dual union all
select '-' from dual union all
select '-123x' as VIRTUALNUMBER from dual union all
select '7-' from dual
)
select * from a where TRANSLATE(VIRTUALNUMBER, '-0123456789', '-') = '-'
13 and VIRTUALNUMBER like '-_%';
VIRTUALNUMBER
---------------
-0
-123
-456
-789
已用时间: 00: 00: 00.01
SQL>