SELECT * FROM TABLE WHERE to_number(LABLE) > 50;
这要你造的数据不出错.

解决方案 »

  1.   


    为了确保Lable上的索引能用,必须
    SELECT * FROM TABLE WHERE LABLE > TO_CHAR(50);
      

  2.   

    SELECT * FROM TABLE WHERE to_number(LABLE) > 50;
      

  3.   

    SELECT * FROM TABLE WHERE to_number(nvl(LABLE,'0')) > 50;
      

  4.   

    用to_number要保证你lable列的值不包含数字以外的字符,另外注意LABLE > TO_CHAR(50)是不准确的,因为'9' > '50' 是成立的
      

  5.   

    用To_number,但其中不能有除数字以外的字符
      

  6.   

    自己写一个转换函数不就行了
    CREATE OR REPLACE FUNCTION F_ToNumber
    ( p_charnum   CHAR )
      RETURN number
    AS
      v_num number;
    BEGIN
    if(p_charnum is null) then
    return null;
    end if;
    v_num := to_number(p_charnum);
    return v_num;
    exception
    when others then
    return null;
    END ;
    /查询时使用SELECT * FROM TABLE WHERE f_tonumber(LABLE) > 50;