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:

GET

Syntax


Copy

OBJECT (oder VARIANT-Wert, der ein OBJECTenthält)

GET_IGNORE_CASE( <object> , <field_name> )

GET_IGNORE_CASE( <variant> , <field_name> )
Copy

MAP

GET_IGNORE_CASE( <map> , <key> )
Copy

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ür field_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 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:

    • object ist ein OBJECT-Wert, während field_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ährend field_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, ob v einen Objektwert enthält (und gibt NULL zurück, wenn v 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      |
+--------+
Copy

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      |
+--------+
Copy

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