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

Comment obtenir le nombre d'éléments dans un tableau JSON stocké en tant que CLOB avec Oracle 12c ?

Vous pouvez utiliser JSON_TABLE :

SELECT
    id, var1, count(sub_id) subvalues
FROM
    JSON_TABLE (
        to_clob('{ id: 123, var1: "abc", subvalues : [{ id: 1, value: "a", }, { id: 2, value: "b" } ]}'),
        '$'
        COLUMNS (
            id NUMBER PATH '$.id',
            var1 VARCHAR PATH '$.var1',
            NESTED PATH '$.subvalues[*]'
            COLUMNS (
                sub_id NUMBER PATH '$.id'
            )
        )
    )
GROUP BY id, var1