首页 新闻 会员 周边 捐助

Oracle中查询以字母A或B开头的人名??

0
悬赏园豆:20 [已关闭问题]

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语句该怎么写才好。

是旧卡的主页 是旧卡 | 初学一级 | 园豆:140
提问于:2009-12-12 23:07
< >
分享
其他回答(1)
0

select * from emp where

 (ename like 'A%' or ename like 'B%' OR ENAME LIKE 'C%') AND ENABLED='Y'

woody.wu | 园豆:3621 (老鸟四级) | 2009-12-12 23:17
and enabled='Y' 是什么意思?? 还有其他解决方法么?要是检索以A-F的开头的岂不是要写6个 or ??
支持(0) 反对(0) 是旧卡 | 园豆:140 (初学一级) | 2009-12-13 11:10
@是旧卡:and enabled='Y' 是我加的一个字段, 就是或的关系. A-F要6个OR
支持(0) 反对(0) woody.wu | 园豆:3621 (老鸟四级) | 2009-12-13 11:15
0

试试这个

WHERE REGEXP_SUBSTR(ename,'^[ABC]*')  IS NOT NULL

persialee | 园豆:3217 (老鸟四级) | 2009-12-13 22:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册