2016-04-20 12 views
1

PostgreSQL 9.3を使用すると、json_array_elements関数は配列内の各文字列要素をjson文字列として返します。postgres 9.3文字列からテキストへの配列

select value from json_array_elements('["a", "b"]'); 

value 
------- 
"a" 
"b" 

これらを通常のPostgres TEXT値に変換したいのですが、私は迷っています。私はvalue :: TEXTを試しましたが、まだ二重引用符、つまりjson文字列です。

答えて

1

私はこれが欲しいと思います。

select REPLACE(value::TEXT,'"','') from json_array_elements('["a", "b"]'); 
+0

。 REPLACEへのリゾートは、まず何か問題を起こすための回避策のようです。私のユースケースはワンショットスキーマ移行スクリプトなので、これは問題ありません。私はまだ "クリーナー"のソリューションを見たいと思います。 – siltalau

+0

私は "テキストのように扱うので、置き換えずにデータを取得することはできません。 –

+0

きれいで正確な方法は、postgres 9.4のjson_array_elements_text関数の形式でのみ追加されています。 – siltalau

1

ような単純な:私は避けることを望んでいたものだった

select value from json_array_elements_text('["a", "b"]'); 
+0

これはpostgresを使用していた場合に行く方法があります9.4+ – siltalau

+0

行く方法は{;-)をアップグレードすることです – Patrick

関連する問題