Oracle是不是不支持以下的写法:     1.  select * from emp where ename like '[ABC]%';     2.  select * from emp where ename like '[A-D]%';     3.  select * from emp where ename like '%[%]%';
      我从Oracle 10g中执行上面3个语句都返回 0 行,在SQLServer中是可以执行的。
要是Oracle中不支持这种写法的话,那么要完成如上边第一句的功能,即要查询名字
以 A 或 B 或 C 开头的人,SQL语句该怎么写才好。

解决方案 »

  1.   

    select * from emp where ename like 'A%';
    select * from emp where ename like 'B%';
    select * from emp where ename like 'C%';
      

  2.   

      此外还可以用starting with....
      

  3.   

    select * from TABLE_NAME where substr(NAME,1,1) in ('A','B');
      

  4.   

    select * from emp where ename REGEXP_LIKE(ename,'^[ABC]')
      

  5.   

    regexp_like 是什么意思??
      

  6.   


    建议你下载一个 oracle 官方文档。
      

  7.   


    你的本意是想使用正则表达式,oracle中使用正则表达式的方法就是 REGEXP_LIKE
      

  8.   

    可以,不能直接用like,要显式告诉编译器,你要正则的like,即 REGEXP_LIKE
      

  9.   

    regexp_like  oracle10g 支持正则表达式查询  这个类似与关键字 like
    regexp_like(ename,'正则表达式匹配规则')
      

  10.   

    select * from emp 
    where ename like 'a%'
    ;