Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment sélectionner un élément spécifique dans un tableau JSON dans le type Oracles JSON CLOB

L'expression_chemin_JSON ne prend en charge qu'une syntaxe de base, selon le manuel :

JSON_path_expression ::=

object_step ::=

array_step ::=

Une autre approche consiste à utiliser JSON_TABLE pour convertir le JSON en une table relationnelle, puis projeter et filtrer les colonnes.

select value
from json_table(
    '{
        "notUsed": [],
        "stock": [
            {
                "name": "eggs",
                "value": "in stock"
            },
            {
                "name": "milk",
                "value": "out of stock"
            }
        ]
    }',
    '$.stock[*]'
    columns
    (
        name varchar2(100 char) path '$.name',
        value varchar2(100 char) path '$.value'
    )
)
where name = 'eggs'

Résultats :

VALUE
-----
in stock