db2 for i のテーブルを JSON 形式で引っ張る


db2 for i のテーブルを JSON 形式で引っ張る

いつ実装されたかもう忘れましたが、周りの環境もそれなりにバージョンが上がってきたので、そろそろ使えそうなdb2 for iで直接JSONを引っ張るSQLが、何だったか調べてみました。
アプリ側でやってしまっているので、今後用途があるかは判りませんが、パフォーマンス面で有利だったりすれば使うかもしれません。

Generating JSON data


-- レコードのJSON化
select json_object (
    'ID' value code, 
    'NAME' value trim(name)
)
from PHPDEMO.EMPL
LIMIT 5
;

-- レコードのJSON化→配列化
select json_array (
    json_object (
        'ID' value code, 
        'NAME' value trim(name)
    ) 
) as JSON
from PHPDEMO.EMPL
LIMIT 5
;

-- テーブルのJSON・配列化
select json_arrayagg (
    json_object (
        'ID' value code, 
        'NAME' value trim(name),
        'DESC' value trim(DESC) absent on null
    ) 
) as JSON
from PHPDEMO.ITEM
LIMIT 5
;