我想在数据库里查出某个字段的前20个字符里都是阿拉伯数字的记录!
如何用SQL正则表达式查出来!

解决方案 »

  1.   

    理解Oracle10g的SQL正则表达式支持http://www.builder.com.cn/2004/0630/124759.shtml
      

  2.   

    我用的是oracle9i,可以用正则吗?
      

  3.   

    oracle9i是不支持正则表达式的,如果是Oracle10g的话可以这样实现:
    表名:table1;某个字段假如为:user。
    sql语句可写为:select * from table1 where REGEXP_LIKE(user,'^[[:alpha:]]{20}')更详细的讲解请看:http://blog.sina.com.cn/u/569a0f7c010009dq
                      http://sunny0543.bokee.com/viewdiary.13858109.html
      

  4.   

    where lengthb(substrb(FIELDNAME,1,20))=20 and translate(substrb(FIELDNAME,1,20),' 123456789',' ') is null