postgresql 在postgres sql中将数据从一列(bigint)复制到另一列(bigint[])?

mtb9vblg  于 2022-11-23  发布在  PostgreSQL
关注(0)|答案(2)|浏览(226)

我需要将一个列customerId中的所有数据复制到同一表中的另一个新列(customerIds-格式不同)。有一个名为customerId的列,其类型为bigint,我需要将此列中的数据复制到数据类型为bigint[]customerIds
有没有办法在postgres sql中做到这一点?我知道如何将数据从一列复制到另一列,这是在相同的格式,但不知道如何做到这一点时,新的列是数组。
同一表和列的格式相同。

UPDATE table_name 
SET customerId = customerIds
agxfikkp

agxfikkp1#

由于每个客户只有一个id,因此只需更新数组的第一个元素
第一章:"中国银行业的发展"
| 客户ID|客户ID|
| - -|- -|
| 一个|{1}已安装|
| 2个|第二章|
| 三个|第三章|
| 四个|第四章|
| 五个|第五章|

SELECT 5

fiddle

ru9i0ody

ru9i0ody2#

也许这会有所帮助:
使用cte作为(选择4::BIGINT作为数值)从cte中选择array_agg(cte.数值);
对于您问题:
UPDATE数据表名称SET客户识别码=数组_agg(客户识别码)
答案只是一个想法,未经测试

相关问题