0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Db2 : JSONデータをSQLで簡単に利用

Last updated at Posted at 2018-11-16

Db2にはV10.5 FixPack1からMongoDB互換でJSONデータをデータベースに格納/照会できる機能がありました。

Db2 11.1.2.2からは、直接SQLを使ってJSONデータを保管や検索するサポートが追加されています。

わざわざNoSQLデータベースを用意する必要なく、JSONデータも手軽にRDBMSに格納しておきたい、SQLと一緒に使いたいという場合の簡単な方法になります。

JSON データは、BSON (バイナリー JSON) と呼ばれるバイナリー・エンコード形式で格納されます。開発者は、SQL ベースのルーチンを利用できるようになりました。

注)今後のDb2 11.1.4.4では更にJSON SQLファンクションの機能拡張がプランされています。

Db2のJSON関数

SQL を使用して、JSON データの保管と取得を直接行う方法を見ていきます。

JSON 関連の関数は、JSON_VAL 関数を除いてすべてスキーマ SYSTOOLS にカタログされています。JSON_VAL はスキーマ SYSIBM にカタログされています。
(補足)これらの関数は、UTF-8 ベースのデータベース(Unicodeデータベース)に対して機能します。

SYSTOOLS関数
JSON_VAL JSON データを SQL データ・タイプで取得します
JSON_TABLE 2 つの列を持つ表を返します
JSON_TYPE 指定されたエレメントの BSON タイプを返します
JSON_LEN JSON ドキュメント内の配列タイプのエレメント内にあるエレメント数を返します
BSON2JSON バイナリー形式 (拡張 BSON) の JSON ドキュメントを判読可能な JSON テキスト形式に変換します
JSON2BSON JSON ドキュメントを BSON 形式の同等のバイナリー表現に変換します
JSON_GET_POS_ARR_INDEX JSON_TABLE 関数で配列値を抽出する必要なしに配列値を検索します
JSON_UPDATE JSON_TABLE 関数で配列値を抽出する必要なしに配列値を検索します
BSON_VALIDATE 指定された BLOB データが有効な JSON データかどうかを検査します

参考資料

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?