Oracle12c(12.1)から、JSON形式のデータをカラムに登録して内容を簡単に検索することができます。
JSONを格納するテーブルを作成する
例)test_tbl.valをJSON形式指定のテーブルを作成する
1 2 3 4 |
CREATE TABLE test_tbl( val CLOB CONSTRAINT chk_json CHECK (val IS JSON) ); |
JSON文字列をINSERTする
例)上記テーブルにJSONデータをINSERTする
1 2 3 |
INSERT INTO test_tbl VALUES( '{"name": "鈴木","addr": "東京都中央区","tel": {"house": "03-ZZZZ-ZZZZ","mobile": "090-XXXX-XXXX"}}' ); |
挿入する値がJSON文字列でないと以下エラーが発生します。
「ORA-02290: チェック制約(test_tbl.chk_json)に違反しました。」
JSON文字列をSELECTする
例)上記テーブルからJSON値を検索する
1 2 3 4 5 |
SELECT j.val.name ,j.val.tel.mobile FROM test_tbl j; |
- 実行例
- 鈴木 090-XXXX-XXXX
解説
- 検索時に存在しないJSONプロパティを指定した場合はNULLが返ります。