- 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¶
variant
Ein Ausdruck, der einen VARIANT-Wert ergibt, der entweder ein ARRAY oder ein OBJECT enthält.
object
Ein Ausdruck, der ein OBJECT ergibt, das Schlüssel-Wert-Paare enthält.
field_name
Ein 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_name
darf keine leere Zeichenfolge sein.Wenn
object
ein strukturiertes OBJECT-Objekt ist, müssen Sie fürfield_name
eine Konstante angeben.Wenn
object
den angegebenen Schlüssel nicht enthält:Wenn
object
ein semistrukturiertes OBJECT ist, gibt die Funktion NULL zurück.Wenn
object
ein strukturiertes OBJECT ist, tritt ein Fehler auf.
map
Ein Ausdruck, der einen MAP-Wert ergibt.
key
Der Schlüssel in einem Schlüssel-Wert-Paar, für den Sie den Wert abrufen möchten.
Wenn
map
den 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 semistrukturiertes OBJECT-, ARRAY- oder VARIANT-Objekt ist, gibt die Funktion ein VARIANT-Objekt zurück. Der Datentyp ist VARIANT aus folgendem Grund:
In einem ARRAY ist jedes Element vom Typ VARIANT.
In einem OBJECT ist der Wert in jedem Schlüssel-Wert-Paar vom Typ VARIANT.
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 beispielsweise ARRAY(NUMBER) ist, gibt die Funktion ein NUMBER-Objekt 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:
object
ist ein OBJECT-Wert, währendfield_name
ein 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.
v
ist ein VARIANT-Wert, währendfield_name
ein 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, obv
einen Objektwert enthält (und gibt NULL zurück, wennv
kein 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.