- Kategorien:
Funktionen für semistrukturierte und strukturierte Daten (Zuordnung/Map)
MAP_CONTAINS_KEY¶
Ermittelt, ob der angegebene MAP-Typ den angegebenen Schlüssel enthält.
Syntax¶
MAP_CONTAINS_KEY( <key> , <map> )
Argumente¶
key
Der zu suchende Schlüssel.
map
Die zu durchsuchende Zuordnung.
Rückgabewerte¶
Gibt TRUE zurück, wenn die angegebene Zuordnung den angegebenen Schlüssel enthält.
Gibt FALSE zurück, wenn die angegebene Zuordnung den angegebenen Schlüssel nicht enthält.
Nutzungshinweise¶
Der Typ des Schlüsselausdrucks muss mit dem Typ des Schlüssels der Zuordnung übereinstimmen. Wenn der Typ VARCHAR ist, können die Typen unterschiedlich lang sein.
Bei Eingabe von NULL lautet die Ausgabe NULL.
Beispiele¶
Die Funktion sucht den Schlüssel k1
und findet ihn in der Zuordnung:
SELECT MAP_CONTAINS_KEY(
'k1',{'k1':'v1','k2':'v2','k3':'v3'}::MAP(VARCHAR,VARCHAR))
AS contains_key;
+--------------+
| CONTAINS_KEY |
|--------------|
| True |
+--------------+
Die Funktion sucht den Schlüssel k1
und findet ihn nicht in der Zuordnung:
SELECT MAP_CONTAINS_KEY(
'k1',{'ka':'va','kb':'vb','kc':'vc'}::MAP(VARCHAR,VARCHAR))
AS contains_key;
+--------------+
| CONTAINS_KEY |
|--------------|
| False |
+--------------+
Eine SELECT-Anweisung übergibt einen Schlüssel, der einen anderen Typ verwendet als der Schlüssel in der Zuordnung:
SELECT MAP_CONTAINS_KEY(
'k1',{'1':'va','2':'vb','3':'vc'}::MAP(NUMBER,VARCHAR))
AS contains_key;
001065 (22023): SQL compilation error:
Function MAP_CONTAINS_KEY cannot be used with arguments of types VARCHAR(2) and map(NUMBER
(38,0), VARCHAR(16777216))