[解決済み] Postgresでjson配列を行に変換する方法
2022-12-18 05:52:01
質問
Postgresのデータベースにjson配列が保存されています。 jsonは次のようなものです。
[
{
"operation": "U",
"taxCode": "1000",
"description": "iva description",
"tax": "12"
},
{
"operation": "U",
"taxCode": "1001",
"description": "iva description",
"tax": "12"
},
{
"operation": "U",
"taxCode": "1002",
"description": "iva description",
"tax": "12"
}
]
ここで、私は
SELECT
を作成し、クエリ結果の異なる行に要素を配置する必要があります。そのため
SELECT
ステートメントを実行すると、このようにデータを返す必要があります。
data
--------------------------------------------------------------------------------------
{ "operation": "U", "taxCode": "1000", "description": "iva description", "tax":"12"}
{ "operation": "U", "taxCode": "1001", "description": "iva description", "tax":"12"}
{ "operation": "U", "taxCode": "1002", "description": "iva description", "tax":"12"}
を使ってみました。
unnest()
機能
SELECT unnest(json_data::json)
FROM my_table
を指定しても
jsonb
という型を受け付けません。
どのように解決するのですか?
pozsさんが書かれた回答をコメント欄に載せています。
unnest()
はPostgreSQLの配列型に対するものです。
代わりに、以下の関数のいずれかを使用することができます。
-
json_array_elements(json)
(9.3+) -
jsonb_array_elements(jsonb)
(9.4+) -
json[b]_array_elements_text(json[b])
(9.4+)
例 :
select * from json_array_elements('[1,true, [2,false]]')
出力値
-------------
| 1 |
-------------
| true |
-------------
| [2,false] |
-------------
ここで で、v9.4 のドキュメントを見ることができます。
関連
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] cURLでJSONデータをPOSTするにはどうすればよいですか?
-
[解決済み] オブジェクトが配列であるかどうかを確認するにはどうすればよいですか?[重複]。
-
[解決済み] Javaで配列に特定の値が含まれているかどうかを判断するにはどうすればよいですか?
-
[解決済み] Javaで配列を宣言し、初期化する方法は?
-
[解決済み] JavaScriptで配列を空にするにはどうしたらいいですか?
-
[解決済み】配列に何かを追加する方法は?
-
[解決済み] 数百万のピクセルを持つ2Dの非ボックス化ピクセル配列にはどのようなHaskell表現が推奨されますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】アセンブリ言語での配列のバブルソート
-
[解決済み] 配列から要素を1つだけ値で削除する方法
-
[解決済み] MIPSで配列を作る(アクセスする)方法
-
[解決済み] Scala:Arrayに要素を追加する最良の方法は何ですか?
-
[解決済み] Rubyでハッシュの配列をソートする方法
-
[解決済み] Javascript/Typescriptで配列のクローンを作成する
-
[解決済み] Swiftの2次元配列
-
[解決済み] 並べ替えられた2つの配列の和で、k番目に小さい要素を見つけるにはどうすればよいですか?
-
[解決済み] 配列のインデックスやキーをチェックする最も簡単な方法とは?
-
[解決済み] bash補完における${array[*]}と${array[@]}の混同について