PostgreSQL jsonからレコードを作成する
- 作成日 2024.02.13
- PostgreSQL
- PostgreSQL
PostgreSQLで、jsonからレコードを作成する手順を記述してます。「json_to_record」を使用することで可能です。AS句を使って実行します。
環境
- OS CentOS Stream release 9
- PostgreSQL 15.1
- pgadmin4 6.16
jsonからレコードを作成
jsonからレコードを作成するには、「json_to_record」を使用します。
※「josnb」型には「jsonb_to_record」を使用します。
json_to_record(jsonデータ) AS句;
jsonb_to_record(jsonbデータ) AS句;
実際に、実行してみます。
SELECT
*
FROM
json_to_record(
'{"name": "Tom", "age": 20, "address": ["tokyo", "japan"]}'
) AS x(name TEXT, age INT, address TEXT[]);
実行結果をみると、レコードが作成されていることが確認できます。
AS句を使用しないと、エラーが発生します。
SELECT
*
FROM
json_to_record(
'{"name": "Tom", "age": 20, "address": ["tokyo", "japan"]}'
);
ERROR: "record"を返す関数では列定義リストが必要です
LINE 4: json_to_record(
^
SQL 状態: 42601
文字: 19
実行結果
TYPEを指定
TYPEを指定して使用することも可能です。「address」を定義してから実行してみます。
CREATE TYPE address as (country TEXT, city TEXT);
実行します。
SELECT
*
FROM
jsonb_to_record(
'{"address": {"country": "jp", "city": "tokyo"}}'
) AS x(address address);
実行結果
-
前の記事
kotlin エラー「error: unresolved reference: roundToInt」の解決方法 2024.02.13
-
次の記事
MariaDB 利用中のポート番号を確認する 2024.02.14
コメントを書く