oracle中关于to_number用法

cftfns 2013-07-03 05:58:02
no为VARCHAR2类型,可能为NULL,可能为汉字,也可能为数字,要求查找出no为数字时,值大于999999的结果。

select * from t_dev t where to_number(t.no)>999999


上面的SQL报错,该如何修改?

...全文
758 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
悠悠道明 2013-07-09
  • 打赏
  • 举报
回复
select * from t_dev t where to_number(t.no,'12242.33')>999999
u010412956 2013-07-04
  • 打赏
  • 举报
回复
select * from t_dev t where translate(no, 'x0123456789', 'x') is null and t.no >= 999999
虫洞 2013-07-03
  • 打赏
  • 举报
回复
select * from t_dev t where regexp_like(no,'^[0-9]+$') and length(ltrim(no,'0'))>=7 ;
善若止水 2013-07-03
  • 打赏
  • 举报
回复
需要先用正则表达式把只有数字的筛选出来,然后再比较
sych888 2013-07-03
  • 打赏
  • 举报
回复
先排除汉字的记录,然后在处理

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧