- Catégories :
Fonctions de données semi-structurées et structurées (Carte)
MAP_CONTAINS_KEY¶
Détermine si la MAP spécifiée contient la clé spécifiée.
Syntaxe¶
MAP_CONTAINS_KEY( <key> , <map> )
Arguments¶
key
La clé à trouver.
map
La carte à rechercher.
Renvoie¶
Renvoie TRUE si la carte spécifiée contient la clé spécifiée.
Renvoie FALSE si la carte spécifiée ne contient pas la clé spécifiée.
Notes sur l’utilisation¶
Le type de l’expression de clé doit correspondre au type de la clé de la carte. Si le type est VARCHAR, les types peuvent être de longueurs différentes.
Pour une entrée NULL, la sortie est NULL.
Exemples¶
La fonction recherche la clé k1
et la trouve dans la carte :
SELECT MAP_CONTAINS_KEY(
'k1',{'k1':'v1','k2':'v2','k3':'v3'}::MAP(VARCHAR,VARCHAR))
AS contains_key;
+--------------+
| CONTAINS_KEY |
|--------------|
| True |
+--------------+
La fonction recherche la clé k1
et ne la trouve pas dans la carte :
SELECT MAP_CONTAINS_KEY(
'k1',{'ka':'va','kb':'vb','kc':'vc'}::MAP(VARCHAR,VARCHAR))
AS contains_key;
+--------------+
| CONTAINS_KEY |
|--------------|
| False |
+--------------+
Une instruction SELECT transmet une clé qui utilise un type différent de celui de la clé de la carte :
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))