JSON_DECIMAL
Beschreibung
JSON_DECIMAL
ist eine Zeilenfunktion, die a extrahiert NUMERIC
-Wert aus einem Feld in einem JSON-Objekt.Syntax
JSON_DECIMAL
(json_string
, "json_field
")Rückgabewert
Gibt pro Zeile einen Wert des Typs "" zurück
NUMERIC
.Eingabeparameter
- json_string
- Erforderliche Inhalte. Der Name eines Felds oder Ausdrucks der Art "".TEXT(oder eine wörtliche Zeichenfolge), die ein gültiges JSON-Objekt enthält.
- json_field
- Erforderliche Inhalte. Der Schlüssel oder Name des Feldwerts, den Sie extrahieren möchten.
- Geben Sie bei Feldern der obersten Ebene die Namens-ID (Schlüssel) des Felds an.
- Um auf Felder innerhalb eines verschachtelten Objekts zuzugreifen, geben Sie einen durch Punkte getrennten Pfad für Feldnamen an (z. B.oberste Ebene_Feldname.schachteled_field_name).
- Um einen Wert aus einem Array zu extrahieren, geben Sie den durch Punkte getrennten Pfad der Feldnamen und die Array-Position an, die bei 0 für den ersten Wert in einem Array, 1 für den zweiten Wert usw. beginnt (z. B.Feldname.0).
- Wenn die Namens-ID im Namen selbst Punkt- oder Punktzeichen enthält, maskieren Sie den Namen, indem Sie ihn in eckige Klammern setzen (z. B. [field.name.with.position ].[other.doc.field.name]
- Wenn der Feldname null (leer) ist, verwenden Sie z. B. eckige Klammern mit nichts dazwischen als Bezeichner[].
Beispiele
Wenn Sie ein Feld
"top_scores"
haben, das ein wie folgt formatiertes JSON-Objekt enthält (mit den in einem Array enthaltenen Werten):{"practice_scores":["538.67","674.99","1021.52"], "test_scores":["753.21","957.88","1032.87"]}
Sie könnten den dritten Wert des Arrays
"test_scores"
mit dem Ausdruck extrahieren, der Folgendes zurückgibt: "1032.87"
: JSON_DECIMAL([top_scores], "test_scores.2")