- Kategorien:
Funktionen für semistrukturierte und strukturierte Daten (Extraktion)
GET_IGNORE_CASE¶
Extrahiert einen Wert aus einem Objekt oder Array. Gibt NULL zurück, wenn eines der Argumente NULL ist.
Bemerkung
Diese Funktion ähnelt GET, unterscheidet jedoch bei Feldnamen nicht zwischen Groß- und Kleinschreibung.
- Siehe auch:
Syntax¶
OBJECT (oder VARIANT-Wert, der ein OBJECTenthält)
GET_IGNORE_CASE( <object> , <field_name> )
GET_IGNORE_CASE( <variant> , <field_name> )
MAP
GET_IGNORE_CASE( <map> , <key> )
Argumente¶
variantEin Ausdruck, der einen VARIANT-Wert ergibt, der entweder ein ARRAY oder ein OBJECT enthält.
objectEin Ausdruck, der ein OBJECT ergibt, das Schlüssel-Wert-Paare enthält.
field_nameEin Ausdruck, der einen VARCHAR-Wert ergibt Dieser gibt den Schlüssel in einem Schlüssel-Wert-Paar an, für den Sie den Wert abrufen möchten.
field_namedarf keine leere Zeichenfolge sein.Wenn
objectein strukturiertes OBJECT-Objekt ist, müssen Sie fürfield_nameeine Konstante angeben.Wenn
objectden angegebenen Schlüssel nicht enthält:Wenn
objectein semistrukturiertes OBJECT ist, gibt die Funktion NULL zurück.Wenn
objectein strukturiertes OBJECT ist, tritt ein Fehler auf.
mapEin Ausdruck, der einen MAP-Wert ergibt.
keyDer Schlüssel in einem Schlüssel-Wert-Paar, für den Sie den Wert abrufen möchten.
Wenn
mapden angegebenen Schlüssel nicht enthält, gibt die Funktion NULL zurück.
Rückgabewerte¶
Der zurückgegebene Wert ist das angegebene Element im ARRAY oder der Wert, der dem angegebenen Schlüssel eines Schlüssel-Wert-Paares in dem OBJECT entspricht.
Wenn das Eingabeobjekt ein semistrukturierter OBJECT-, ARRAY- oder VARIANT-Wert ist, gibt die Funktion einen VARIANT-Wert zurück. Der Datentyp des Wertes ist VARIANT, weil:
In einem ARRAY-Wert jedes Element vom Typ VARIANT ist.
In einem OBJECT-Wert der Wert in jedem Schlüssel-Wert-Paar vom Typ VARIANT ist.
Wenn das Eingabeobjekt ein strukturiertes OBJECT-Objekt, ein strukturiertes ARRAY-Objekt oder ein MAP-Objekt ist, gibt die Funktion einen Wert des Typs zurück, der für das Objekt angegeben ist.
Wenn der Typ des Eingabeobjekts zum Beispiel ARRAY(NUMBER) ist, gibt die Funktion den Wert NUMBER zurück.
Nutzungshinweise¶
Diese Funktion gibt die erste exakte Übereinstimmung zurück, die sie findet. Wenn die Funktion nur mehrdeutige Übereinstimmungen (ohne Berücksichtigung der Groß- und Kleinschreibung) findet, gibt sie den Wert für eine der Übereinstimmungen zurück. Es kann jedoch nicht garantiert werden, welcher mehrdeutige Feldname zuerst übereinstimmt.
GET_IGNORE_CASE ist eine Binärfunktion, die folgendermaßen aufgerufen werden kann:
objectist ein OBJECT-Wert, währendfield_nameein Zeichenfolgenwert ist, der eine Konstante oder ein Ausdruck sein kann.Diese Variante von GET_IGNORE_CASE extrahiert den Wert des Felds mit dem angegebenen Namen aus dem Objektwert.
vist ein VARIANT-Wert, währendfield_nameein Zeichenfolgenwert ist, der eine Konstante oder ein Ausdruck sein kann.Funktioniert auf ähnliche Weise wie GET_IGNORE_CASE mit
object, prüft jedoch zusätzlich, obveinen Objektwert enthält (und gibt NULL zurück, wennvkein Objekt enthält).
Beispiele¶
Extrahieren Sie einen Feldwert aus einem Objekt. Die Funktion gibt den Wert für die genaue Übereinstimmung zurück:
SELECT GET_IGNORE_CASE(TO_OBJECT(PARSE_JSON('{"aa":1, "aA":2, "Aa":3, "AA":4}')),'aA') as output;
+--------+
| OUTPUT |
|--------|
| 2 |
+--------+
Extrahieren Sie einen Feldwert aus einem Objekt. Die Funktion kann keine genaue Übereinstimmung finden und gibt daher eine der mehrdeutigen Übereinstimmungen zurück:
SELECT GET_IGNORE_CASE(TO_OBJECT(PARSE_JSON('{"aa":1, "aA":2, "Aa":3}')),'AA') as output;
+--------+
| OUTPUT |
|--------|
| 3 |
+--------+
Ausführlichere Beispiele finden Sie unter Abfragen von semistrukturierten Daten.