如何选择二维数组PostgreSQL的一维数组

如何选择二维数组PostgreSQL的一维数组

本文介绍了如何选择二维数组PostgreSQL的一维数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有二维数组,并希望选择只第一要素,这是一维数组。我该怎么做呢?

I have 2d array and want to select only first element of it, which is 1d array. How do I do that?

推荐答案

要得到第一个的的数组的

To get the first slice of the array

SELECT my_arr[1:1];

所得数组有同一阵列尺寸作为输入。结果
在我的previous详细答案在这里:

The resulting array has the same array dimensions as the input.
Details in my previous answer here:



  • Unnest array by one level

平展结果:

SELECT ARRAY(SELECT unnest(my_arr[1:1]));

或较清洁:

SELECT ARRAY(SELECT * FROM unnest(my_arr)[1:1]))

示例

SELECT (ARRAY[[1,2,3], [4,5,6], [7,8,9]])[1:1];

结果

{{1,2,3}}  -- 2D array

或者

SELECT ARRAY(
   SELECT unnest((ARRAY[[1,2,3], [4,5,6], [7,8,9]])[1:1])
   );

结果

{1,2,3}  -- 1D array

仿效UNNEST()中的Postgres 8.3

您的评论回应:结果
要链接到中的

这篇关于如何选择二维数组PostgreSQL的一维数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-21 06:42