我是PostgreSQl的新手,所以这可能是一个基本问题: 我有一个表格,其中包含一个数据类型为text []的字段,这是一个文本字符串数组。这个SQL命令
Select "Table"."Field" From "Table";
以数组的形式返回值,例如{AA,BB}和{AA,CC}。
现在我在pgAdmin中使用SQL编辑器尝试编写一个SQL命令,该命令将选择值并将它们拆分为单个元素。我尝试了像
这样的结构 Select "Table"."Field[1]", "Table"."Field[2]" From "Table";
但它不起作用。我该怎么做呢?
答案 0 :(得分:0)
见这个例子:
创建表格:
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 ;
答案 1 :(得分:0)
双引号"
围绕对象名称。你的错误是将方括号放在双引号内,因此PostgreSQL正在寻找一个名为Field[1]
的表字段,而不是字段Field
的第一个元素。
你应该写:
SELECT "Table"."Field"[1]
我真的建议你永远不要在表名中使用小写字符,数字和下划线_
。它使生活变得如此简单,因为你避免了所有的引用问题。