Wanneer u uw query invoert in de SQL Editor of een berekening maakt, gebruikt u Presto SQL syntaxis. Om arrays en waarden in JavaScript Object Notation (JSON) aan te passen, kunt u deze veelgebruikte functies handig vinden.
JSON_ARRAY_LENGTE
Om het aantal waarden - of de lengte - van een JSON array terug te geven, gebruikt u de JSON_ARRAY_LENGTH functie, zoals:
json_array_length(json) → bigint
Bijvoorbeeld, SELECT json_array_length('[a, b, c]'); retourneert een lengte van 3.
JSON_ARRAY_GET
Om een waarde van een JSON-array terug te geven op basis van een op nul gebaseerde index, gebruikt u de functie JSON_ARRAY_GET, zoals:
json_array_get(json_array, index) → json
Bijvoorbeeld:
-
SELECT json_array_get('["a", "b", "c"]', 0);retourneert'a' -
SELECT json_array_get('["a", "b", "c"]', 1);retourneert'b'
Om waarden terug te geven die geïndexeerd zijn vanaf het einde van de array, kunt u negatieve indexen gebruiken. Bijvoorbeeld:
-
SELECT json_array_get('["c", "b", "a"]', -1);retourneert'a' -
SELECT json_array_get('["c", "b", "a"]', -2);retourneert'b'
Als geen element op de opgegeven index bestaat, retourneert de functie nul. Bijvoorbeeld:
-
SELECT json_array_get('[]', 0);retourneertnull -
SELECT json_array_get('["a", "b", "c"]', 10);retourneertnull -
SELECT json_array_get('["c", "b", "a"]', -10);retourneertnull
JSON_EXTRACT
Om de JSONPath-achtige expressie van string die JSON bevat te evalueren en de resultaten als een string gecodeerd als JSON terug te geven, gebruikt u de functie JSON_EXTRACT, zoals:
json_extract(json, json_path) → json
Bijvoorbeeld:
SELECT json_extract(json, '$.store.book');
Opmerking: Om de resultaten als een string terug te sturen niet gecodeerd als JSON, gebruikt u in plaats daarvan de JSON_EXTRACT_SCALAR functie.
JSON_EXTRACT_SCALAIR
Om de JSONPath-achtige expressie van string die JSON bevat en naar een scalaire - tekst, booleaans of getal - waarde verwijst, te evalueren en de resultaten als een string te retourneren, gebruikt u de functie JSON_EXTRACT_SCALAR, zoals:
json_extract_scalar(json, json_path) → varchar
Bijvoorbeeld:
SELECT json_extract_scalar(json, '$.store.book[0].author');
SELECT json_extract_scalar('[1, 2, 3]', '$[2]'); Opmerking: Gebruik in plaats daarvan de functie JSON_EXTRACT om de resultaten als een als JSON gecodeerde string terug te geven.
JSON_FORMAT
Om de waarden van de JSON syntaxis als een tekenreeks terug te geven, gebruikt u de functie JSON_FORMAT, zoals:
json_format(json) → varchar
Bijvoorbeeld:
-
SELECT json_format(json '[1, 2, 3]);retourneert'[1, 2, 3]' -
SELECT json_format(json '"a");retourneert'"a"'
Tip: De functie JSON_FORMAT is het omgekeerde van de functie JSON_PARSE.
JSON_PARSE
Om een tekenreeks als JSON syntax te parsen, gebruikt u de functie JSON_PARSE, zoals:
json_parse(string) → json
Bijvoorbeeld, SELECT json_parse('[1, 2, 3]'); retourneert JSON '[1, 2, 3]'
Tip: De functie JSON_PARSE is het omgekeerde van de functie JSON_FORMAT.
W_JSON_ARRAY_VOEGEN
Om de waarden van een JSON-array als een afgebakende tekenreeks te retourneren, gebruikt u de functie W_JSON_ARRAY_JOIN, zoals:
w_json_array_join(array, 'delimiter') → varchar