Kategorien:

Semistrukturierte Datenfunktionen (Extraktion)

GET

Extrahiert einen Wert aus einem Objekt oder Array; gibt NULL zurück, wenn eines der Argumente NULL ist.

Hinweis: Diese Funktion sollte nicht mit dem Befehl GET DML verwechselt werden.

Siehe auch:

GET_IGNORE_CASE, GET_PATH , :

Syntax

GET( <object> , <field_name> )

GET( <v> , <field_name> )

GET( <array> , <index> )

GET( <v> , <index> )

Nutzungshinweise

  • GET wendet Übereinstimmung unter Berücksichtigung von Groß-/Kleinschreibung auf Feldnamen an. Versuchen Sie stattdessen GET_IGNORE_CASE, um eine Übereinstimmung ohne Berücksichtigung der Groß- und Kleinschreibung zu erzielen.

  • GET ist eine Binärfunktion, die folgendermaßen aufgerufen werden kann:

    • Objekt ist ein OBJECT-Wert, während Feldname ein Zeichenfolgenwert ist, der eine Konstante oder ein Ausdruck sein kann.

      Diese Variante von GET extrahiert den VARIANT-Wert des Felds mit dem angegebenen Namen aus dem Objektwert. Wenn das Feld nicht gefunden wird, wird NULL zurückgegeben. Der Feldname darf keine leere Zeichenfolge sein.

    • v ist ein VARIANT-Wert, während Feldname ein Zeichenfolgenwert ist, der eine Konstante oder ein Ausdruck sein kann.

      Funktioniert auf ähnliche Weise wie GET mit Objekt, prüft jedoch zusätzlich, ob v einen Objektwert enthält (und gibt NULL zurück, wenn v kein Objekt enthält).

    • Array ist ein ARRAY-Wert, während Index eine ganze Zahl ist, die eine Konstante oder ein Ausdruck sein kann.

      Diese Variante von GET extrahiert den VARIANT-Wert des Arrayelements mit dem angegebenen Index. Wenn der Index auf Werte außerhalb der Arraygrenzen verweist oder das indizierte Element nicht existiert (in spärlichen Arrays), gibt die Funktion NULL zurück.

    • v ist ein VARIANT-Wert, während Index eine ganze Zahl ist, die eine Konstante oder ein Ausdruck sein kann.

      Funktioniert auf ähnliche Weise wie GET mit Array, prüft jedoch zusätzlich, ob v einen Arraywert enthält (und gibt NULL zurück, wenn v kein Array enthält).

Beispiele

Extrahieren des Maximalwerts des Felds temperature aus allen Objekten in der Tabelle vartab, die das Feld sowie das Feld sensorType gleich indoor enthalten:

SELECT MAX(AS_REAL(GET(v, 'temperature'))) FROM vartab WHERE AS_CHAR(GET(v, 'sensorType')) = 'indoor';

Ausführlichere Beispiele finden Sie unter Abfragen von semistrukturierten Daten.