【发布时间】:2014-02-15 08:36:41
【问题描述】:
是否可以在 IN 中使用 LIKE?以下查询产生错误。
Select *
from employees
where salary between 2500 and 10000
and job_id NOT in (like '%MAN%', like '%CLERK%');
什么是正确的语法?我正在使用 Oracle 11g
【问题讨论】:
-
这个 in like 东西是我想要很多次的功能。 Oracle 没有这样的东西。
-
@RenéNyffenegger:我不认为任何数据库都有这样的东西。
-
@a_horse_with_no_name:Teradata 支持 LIKE ALL|ANY ('%MAN%','%CLERK%')。 ALL -> ANDed LIKEs,ANY -> ORed LIKEs,您甚至可以使用 SELECT 来获取搜索字符串
-
@dnoeth:感谢您提供的信息。真是一个有用的功能。
-
@dnoeth PostgreSQL 具有与数组类似的功能:
LIKE ANY ARRAY ('%MAN%', %CLERK%')