OracleデータベースにいくつかのJSONが格納されている問題があり、そこから値を抽出する必要があります。複数のノードが同じ名前を共有しているときにOracle SQLでJSON_VALUEを取得
問題は、いくつかのフィールドが重複していることです。
私はこれをしようとするとオプションの配列で唯一のファーストネームキーがあるので、それは動作します:
SELECT
JSON_VALUE('{"increment_id":"2500000043","item_id":"845768","options":[{"firstname":"Kevin"},{"lastname":"Test"}]}', '$.options.firstname') AS value
FROM DUAL;
「ケビン」を返します。
はしかし、ファーストネームのフィールドのための2つの値がある場合:
SELECT JSON_VALUE('{"increment_id":"2500000043","item_id":"845768","options":[{"firstname":"Kevin"},{"firstname":"Okay"},{"lastname":"Test"}]}', '$.options.firstname') AS value
FROM DUAL;
はそれだけでNULLを返します。
「firstname」の最初の出現をこのコンテキストで選択する方法はありますか?