gpt4 book ai didi

arrays - 'Array Push' 的 Postgres 数组追加和数组长度

转载 作者:行者123 更新时间:2023-11-29 11:08:50 28 4
gpt4 key购买 nike

在未提供数组大小时,向数组添加元素的最佳方法是什么?

使用 array_append 这是我能想到的:

UPDATE table SET array = array_append((SELECT array FROM table WHERE ...), 'element') WHERE ...;

对于array_length,这是我能想到的:

UPDATE table SET array[array_length((SELECT array FROM table WHERE ...), 1)+1] = element;

最佳答案

最简单的事情是:

update table
set array = array_append(array, 'element')
where ...

或者也许使用 || operator :

update table
set array = array || 'element'
where ...

这两个都等同于更常见的数字 set n = n + 11。根据所涉及的类型,您可能需要通过包含类型转换来消除您指的是哪个 || 运算符的歧义:

update table
set array = array || 'element'::text
where ...

这样 PostgreSQL 就知道你想要 数组 || || 的 element 版本,而不是 array ||数组 版本。感谢ak5感谢提醒我注意这一点。

关于arrays - 'Array Push' 的 Postgres 数组追加和数组长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11007800/

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