sql >> Databasteknik >  >> RDS >> Oracle

Hur får man antalet element i en JSON-array lagrad som CLOB med Oracle 12c?

Du kan använda 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 


  1. HA för MySQL och MariaDB - Jämför Master-Master-replikering med Galera Cluster

  2. SQL-fråga för trädtabell

  3. Formatera UUID-sträng utan REGEXP_REPLACE och PL/SQL

  4. MySQL - Subtrahera värde från föregående rad, gruppera efter