编一个函数处理很容易的,不知道为什么要求"不要编程或写存储过程的"。
用标准sql实现?怎么标准?sql92标准吗?不行的

解决方案 »

  1.   

    SQL> select * from t;AAA
    ----------
    1
    12SQL> select decode(max(trim(translate(aaa,'1234567890',' '))),null,'TRUE','FALSE') from t;DECOD
    -----
    TRUESQL> insert into t values('1a2');已创建 1 行。SQL> select * from t;AAA
    ----------
    1
    12
    1a2SQL> select decode(max(trim(translate(aaa,'1234567890',' '))),null,'TRUE','FALSE') from t;DECOD
    -----
    FALSESQL>
      

  2.   

    函数如下:
    CREATE OR REPLACE FUNCTION F_IsNumber
    ( p_charnum   CHAR )
      RETURN INT 
    AS
      v_num number;
    BEGIN
    if(p_charnum is null) then
    return 0;
    end if;
    v_num := to_number(p_charnum);
    return 1;
    exception
    when others then
    return 0;
    END ;
    /调用时就用
    select F_IsNumber(a) from tbname;1表示true,0表示false
    或者
    select decode(F_IsNumber(a),1,'true','false') from tbname