繁体   English   中英

PostgreSQL:将数组拆分为元素的查询

[英]PostgreSQL: Query that splits array into elements

我是PostgreSQl的新手,所以也许这是一个基本问题:我有一个表,该表的数据类型为text [],即文本字符串数组。 这个SQL命令

Select "Table"."Field" From "Table";

返回数组形式的值,例如{AA,BB}和{AA,CC}。

现在,我在pgAdmin中使用SQL编辑器,尝试编写一条SQL命令,该命令将选择值并将其拆分为单个元素。 我已经尝试过像

    Select "Table"."Field[1]", "Table"."Field[2]" From "Table";

但它不起作用。 我该怎么办呢?

看这个例子:

创建表:

CREATE TABLE array_tab (   ar text[] )

插入示例日期:

insert into array_tab (ar) select string_to_array('aa~^~bb~^~cc', '~^~')

选择您需要的日期:

select ar[1],ar[2],ar[3] from array_tab ;

双引号"包围对象名称,你的错误是把方括号中的双引号里面,所以PostgreSQL的是寻找所谓的表场Field[1]字段的第一个元素的istead Field

您应该写:

SELECT "Table"."Field"[1]

我真的建议您不要在表名中使用小写字符,数字和下划线_ 它使生活变得更加轻松,因为您避免了所有引用问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM