gpt4 book ai didi

postgresql - Postgres : Check function input array for null or empty or containing null

转载 作者:行者123 更新时间:2023-11-29 13:15:15 25 4
gpt4 key购买 nike

我希望验证参数输入以检查,例如,_product_ids::BIGINT[] 不为空,或不包含空(或者可选地,不只包含空),或不为空。

这是我的:

IF (
_product_ids IS NULL -- Is null
OR -1 = ANY(_product_ids) IS NULL -- Contains null
OR COALESCE(ARRAY_LENGTH(_product_ids, 1) < 1, TRUE) -- Is empty
) THEN
RAISE EXCEPTION 'INPUT IS INVALID';
END IF;

我想调整“包含空值”,以便它仅在只有空值时才返回真值。另外,我想知道是否有办法同时检查 null 和空数组。

使用 PostgresSQL 9.6。

最佳答案

表达式可能是这样的:

_product_ids is null -- is null
or cardinality(_product_ids) = 0 -- is empty
or (select bool_and(e is null) from unnest(_product_ids) e) -- contains only nulls

关于postgresql - Postgres : Check function input array for null or empty or containing null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50029682/

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