![](/img/trans.png)
[英]PostgreSQL: Query that splits array of one element into multiple elements based on a delimiter and unnest it
[英]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.