我有一个Oracle查询,其中我想将UPPER函数应用于in条件中的所有值,而不是显式地对每个值调用UPPER,例如
SELECT * FROM a WHERE b IN UPPER(v1, v2, v3, v4);
代替
SELECT * FROM a WHERE b IN (UPPER(v1), UPPER(v2), UPPER(v3), UPPER(v4));
您可以(几乎)通过关闭大小写敏感性来做到这一点:
alter session set NLS_COMP=ANSI;
alter session set NLS_SORT=BINARY_CI;
select * from A where B in (v1, v2, v3, v4)