gpt4 book ai didi

sql - 在 SELECT 查询中循环遍历 PostgreSQL 数组,而不是在 PLPGSQL 函数中循环

转载 作者:行者123 更新时间:2023-11-29 11:43:57 24 4
gpt4 key购买 nike

我在 PostgreSQL 表中有一个 text[] ARRAY 列,我需要在 SELECT 查询(普通 SQL,不是 plpgsql)中对数组中的每个元素运行 char_length() ,这样如果任何元素超过25 个字符长,SELECT 返回 't',否则返回 'f'。我知道我可以在自定义 plpgsql 函数中遍历 text[],但由于其他原因,我需要找到一种直接在 SQL 中执行此操作的方法。

这可能吗?

最佳答案

从 PostgreSQL 8.4 开始,您可以使用 UNNEST 函数:

SELECT MAX((char_length(string) > 25)::INT)::BOOLEAN
FROM (
SELECT my_array,UNNEST(my_array) AS string
FROM my_table
) AS x
GROUP BY my_array;

关于sql - 在 SELECT 查询中循环遍历 PostgreSQL 数组,而不是在 PLPGSQL 函数中循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6632831/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com