大家好,最近碰到一问题,怎样查询oracle表中的列百分数,eg:34% ,67%.在oracle中以nvarch2(20)形式存储。而这一列的数据都是从前台以string类型存进数据库的。现在想查询> '30%' < '60%'的具体怎么操作啊。小弟入门Oracle没多久,网上说要转换。不知具体怎么搞请各位大侠帮帮忙。

解决方案 »

  1.   

    这样设计完全没效率啊, 都是字符串的话就不用转换啊 直接 where 字段>'30%' and 字段<'60%' 就行了啊,字符串也能比较的啊。 
      

  2.   

    select * from table
    where rtrim(cl,'%') between 30 and 60;去掉%就可以隐式转换成number
      

  3.   

         1楼的兄弟,这样做100%是不能实现的啊,2楼的兄弟rtrim(cl,'%') 这个cl为什么一直报错啊?
      

  4.   

    晕c1当然得换成你的列名啊,table换成你的表名
      

  5.   

    用2楼的方法可行
    select * from test_table where rtrim(vcolumn,'%') between 30 and 60