现有一个varchar2类型的字段,我想查询出这个字段中所有内容都是整数的行,这语句该怎么个写法?有简单的解决方法吗?

解决方案 »

  1.   

    --这样试试
    select * 
    from tablename
    where translate(colname,'\1234567890','\') is null
      

  2.   

    select * from t
    where REGEXP_replace(name, '[0-9]') is null;
      

  3.   

    create table t (name varchar2(20));
    insert into t values('(a+b)(c+d+5)');
    insert into t values('(1+b)(c+d+5)');
    insert into t(name)
    values('123456');select * from t
    where REGEXP_replace(name, '[0-9]') is null;
      

  4.   

    create table t (name varchar2(20));
    insert into t values('(a+b)(c+d+5)');
    insert into t values('(1+b)(c+d+5)');
    insert into t(name)
    values('123456');select * from t
    where name is not null
      and REGEXP_replace(name, '[0-9]') is null;