sql >> Databasteknik >  >> RDS >> Oracle

Hur man väljer ett specifikt element från en JSON-array i Oracles JSON CLOB-typ

JSON_path_expression stöder bara viss grundläggande syntax, enligt handboken :

JSON_path_expression::=

object_step::=

array_step::=

En alternativ metod är att använda JSON_TABLE för att konvertera JSON till en relationstabell och sedan projicera och filtrera kolumnerna.

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'

Resultat:

VALUE
-----
in stock



  1. SQL UTLÄNDSK NYCKEL

  2. Ändra datatyp i oracle utan att radera data

  3. Laravel 5 Eloquent HasManyThrough - namnge kolumner i länkar

  4. Övervakning av frågor från en MySQL-användare