【问题标题】:Array of Int: Increase value of each element by XInt 数组:将每个元素的值增加 X
【发布时间】:2020-02-20 18:07:57
【问题描述】:

假设我有下表

a |b
--|--
1 |{1,2,3}
2 |{1,2,3}
3 |{1,2,3}

B 列是一个整数数组。使用 SQL,我想更新 B 列并将数组的每个元素增加 3 的值。 期望的最终结果看起来像

a |b
--|--
1 |{4,5,6}
2 |{4,5,6}
3 |{4,5,6}

我不知道如何做到这一点。

TIA!

【问题讨论】:

    标签: arrays integer sql-update increment


    【解决方案1】:

    假设您使用的是 postGreSQL,您可以执行以下操作:

    如果存在则删除表 arrayz; 创建表数组z(a int, b int[]); 插入 arrayz 值 (1, '{1,2,3}'::int[]), (2, '{1,2,3}'::int[]), (3, '{1,2 ,3}'::int[]);

    select a, array(select bvalue+1 from unnest(arr.b) as bvalue where a = arr.a) 来自arrayz arr;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-11
      • 2017-04-18
      • 1970-01-01
      • 2020-05-01
      • 1970-01-01
      • 2019-12-18
      • 1970-01-01
      • 2016-03-05
      相关资源
      最近更新 更多