我需要创建一个WHERE查询(使用Oracle),它不区分大小写。我试过这样做:
select user from users where lower(user) in lower('userNaMe1', 'useRNAmE2');
但是我得到ORA-00909:无效的参数数
这个列表是在我的Spring应用程序中动态生成的。这就是为什么我不能在每个列表的值中添加lower()的原因。还有其他方法来实现这一目标吗?
发布于 2021-08-25 11:14:19
lower()只使用一个参数,因此您可以使用:
where lower(user) in (lower('userNaMe1'), lower('useRNAmE2'))如果您愿意,也可以使用正则表达式(regexp_like()接受区分大小写的参数)来表示这一点:
where regexp_like(user, '^(userNaMe1|useRNAmE2)$', 'i')https://stackoverflow.com/questions/68921838
复制相似问题