Postgres IN 运算符中不区分大小写?

Pra*_*r J 4 sql postgresql case-insensitive sql-in

我的示例 SQL 是

select * from fruits where name in ('Orange','grape','APPLE','ManGO',etc....);//
Run Code Online (Sandbox Code Playgroud)

是否可以在 Postgres 的 IN 运算符中包含 ilike 或 ~* ?

我的解决方案是

select * from fruits where upper(name) in 
(upper('Orange'),upper('grape'),upper('APPLE'),upper('ManGO'),etc....);
Run Code Online (Sandbox Code Playgroud)

我认为这不是正确的方法,请让我知道这种情况的最佳解决方案

D-S*_*hih 12

您可以尝试ILIKE使用ANY

SELECT * 
FROM fruits 
WHERE name ILIKE ANY(array['Orange', 'grape', 'APPLE', 'ManGO']);
Run Code Online (Sandbox Code Playgroud)

sqlfiddle