【问题标题】:How to store specific data from a multi-dimensional array into a variable如何将多维数组中的特定数据存储到变量中
【发布时间】:2021-03-27 21:04:59
【问题描述】:

我有一个像这样的多维数组:

coeficiente VARCHAR[2][2];

我在这个数组中存储的是这些信息:

{{"uwu","2"},{"owo","5"}}

我还有另外 2 个变量称为:

variable1 VARCHAR;
variable2 VARCHAR;

我想将这个多维数组内容示例中的“2”保存到变量 1 中,将“5”保存到变量 2 中。

我该怎么做?

我在考虑可能是一个 for 循环,但我仍然不知道如何在 plpgsql 中的 ARRAY[][] 结构内部进行迭代。

我在互联网上能找到的最接近的例子是:

stack overflow。但是他们从多维数组中存储了一个数组。我只需要获取其中的变量。

Postgres documentation。但它没有解释如何进入一个特定的“插槽”。

【问题讨论】:

    标签: sql arrays postgresql multidimensional-array plpgsql


    【解决方案1】:

    您可以使用两个 for 循环(也称为嵌套循环)来循环二维数组。 与循环一个 n 维数组类似,您需要将 n 个循环相互嵌套。

    【讨论】:

    • 是的,但我怎样才能在其中移动将该信息分配到我的变量中?例如 variable1:=coeficiente[1][2]?
    【解决方案2】:

    也许我错过了什么,但是:

    variable1 := coeficiente[1][2];
    variable2 := coeficiente[2][2];
    

    会做你想做的。

    do
    $$
    declare
      coeficiente VARCHAR[2][2] := '{{"uwu","2"},{"owo","5"}}';
      variable1 VARCHAR;
      variable2 VARCHAR;  
    begin
      variable1 := coeficiente[1][2];
      variable2 := coeficiente[2][2];
      
      raise notice 'var1=%', variable1;
      raise notice 'var2=%', variable2;
    end;
    $$  
    

    将输出:

    var1=2
    var2=5
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-08
      • 2014-08-10
      • 1970-01-01
      • 2016-07-10
      • 2013-03-24
      • 2015-11-24
      • 2018-10-30
      • 2018-04-11
      相关资源
      最近更新 更多