- 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:
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ährendFeldname
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ährendFeldname
ein Zeichenfolgenwert ist, der eine Konstante oder ein Ausdruck sein kann.Funktioniert auf ähnliche Weise wie GET mit
Objekt
, prüft jedoch zusätzlich, obv
einen Objektwert enthält (und gibt NULL zurück, wennv
kein Objekt enthält).Array
ist ein ARRAY-Wert, währendIndex
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ährendIndex
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, obv
einen Arraywert enthält (und gibt NULL zurück, wennv
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.