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 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ä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.