sql >> Database >  >> RDS >> Oracle

Hoe een specifiek element uit een JSON-array te selecteren in Oracles JSON CLOB-type

De JSON_path_expression ondersteunt slechts enkele basissyntaxis, volgens de handleiding :

JSON_path_expression::=

object_step::=

array_step::=

Een alternatieve benadering is om JSON_TABLE te gebruiken om de JSON om te zetten in een relationele tabel en vervolgens de kolommen te projecteren en te filteren.

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'

Resultaten:

VALUE
-----
in stock



  1. Partitietabel automatisch hernoemen in ORACLE

  2. Mysql2::Fout:Toegang geweigerd voor gebruiker 'test'@'localhost' tot database 'depot_test'

  3. De servertijdzonewaarde 'CEST' wordt niet herkend

  4. PDO::FETCH_CLASS met meerdere klassen