Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie erhält man die Anzahl der Elemente in einem JSON-Array, das mit Oracle 12c als CLOB gespeichert wird?

Sie können JSON_TABLE:

verwenden
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