【问题标题】:How to use PostgreSQL array in WHERE IN clause?如何在 WHERE IN 子句中使用 PostgreSQL 数组?
【发布时间】:2021-09-25 19:36:04
【问题描述】:

我正在尝试简化以下 SQL 语句(为了清楚起见,将其包装在函数中)。

where ... in (/*array*/) 子句中使用array 的更简单/自然的语法方式是什么? (没有select * from unnest(...) 样板)

CREATE OR REPLACE FUNCTION get_items(p_ids int[])
 RETURNS SETOF text
 LANGUAGE sql
AS $$
  select t.name 
    from my_table t 
   where f.id in (select * from unnest(p_ids))
$$;
 
 
 
 

【问题讨论】:

    标签: arrays postgresql where-in


    【解决方案1】:

    不要使用IN 使用ANY,这样也不需要取消嵌套

    where f.id = any (p_ids)
    

    【讨论】:

      猜你喜欢
      • 2016-11-21
      • 1970-01-01
      • 1970-01-01
      • 2012-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-18
      • 1970-01-01
      相关资源
      最近更新 更多