oracle中关于to_number用法
no为VARCHAR2类型,可能为NULL,可能为汉字,也可能为数字,要求查找出no为数字时,值大于999999的结果。
select * from t_dev t where to_number(t.no)>999999
上面的SQL报错,该如何修改?
------解决方案--------------------select * from t_dev t
where regexp_like(no,'^[0-9]+$')
and length(ltrim(no,'0'))>=7
;
------解决方案--------------------select *
from t_dev t
where translate(no, 'x0123456789', 'x') is null
and t.no >= 999999