2016-08-10 12 views
0

私はPostgreSQLの初心者です。おそらくこれは基本的な質問です。 データ型text []のフィールドを持つテーブルがあります。これはテキスト文字列の配列です。このSQLコマンドPostgreSQL:配列を要素に分割するクエリ

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

は、配列の形式で値を返します。 {AA、BB}および{AA、CC}を含む。

私はpgAdminでSQLエディタを使用して、値を選択して単一の要素に分割するSQLコマンドを作成しようとしています。

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

のような構造を試しましたが、機能しません。代わりに私は何をすべきですか?

答えて

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 ; 
0

二重引用符を"はオブジェクト名を囲みます。あなたの間違いは二重引用符の中に角括弧を入れることです。そうすればPostgreSQLはフィールドFieldの最初の要素のField[1]という名前のテーブルフィールドを探しています。

あなたが書くべき

SELECT "Table"."Field"[1] 

私は本当にあなたが小文字、数字、テーブル名にアンダースコア_以外のものを使用しないことをお勧めします。すべての引用問題を避けるため、それは人生をはるかに簡単にします。

関連する問題