sql - 在 Lower/Upper 函数中使用多个参数进行比较

标签 sql oracle

我正在尝试实现如下查询

        SELECT *
        FROM   emp
        WHERE  LOWER (ename) IN LOWER ('A', 'b', 'C', 'd','eF','GG','Hh');

但出现错误

 ORA-00909: invalid number of arguments.

是否有任何特定函数可以用来比较“IN”子句中的多个小写参数?

最佳答案

@Muhammad Muazzam 说得对,但如果出于某种原因你真的需要在右侧使用 LOWER 和值列表,那么你可以这样做:

select ename from emp
where lower(ename) in 
(select lower(column_value) 
 from   table(SYS.KU$_VCNT('A','B','C','D'))
);

SYS.KU$_VCNT 是 VARCHAR2(4000) 类型的表,应该已经存在于您的数据库中。

关于sql - 在 Lower/Upper 函数中使用多个参数进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34611420/

相关文章:

java - hibernate原生SQL查询错误

oracle - sqoop 不导入数据类型 varchar2

regex - 使用正则表达式匹配冒号后的所有内容

SQL Server 首先选择

mysql - "Where"语句 : match a single word (not substring)

mysql - 添加 GROUP BY 或 DISTINCT 如何给出相同的结果集?

java - 创建实体后 Spring Hibernate 异常

java - 从 Oracle 存储过程中检索数组列表 - Java

sql - 两个表上的 Oracle DB 同步

java - Oracle 自动增量功能 : Triggers or Oracle JDBC CallableStatement in 11. 2?