- Catégories :
Fonctions de données semi-structurées (extraction)
GET¶
Extrait une valeur d’un objet ou d’un tableau ; renvoie NULL si l’un des arguments est NULL.
Notez que cette fonction ne doit pas être confondue avec la commande GET DML.
- Voir aussi :
Syntaxe¶
GET( <object> , <field_name> )
GET( <v> , <field_name> )
GET( <array> , <index> )
GET( <v> , <index> )
Notes sur l’utilisation¶
GET applique une correspondance sensible à la casse aux noms de champs. Pour une correspondance insensible à la casse, essayez plutôt GET_IGNORE_CASE.
GET est une fonction binaire qui peut être appelée des manières suivantes :
objet
est une valeur OBJECT etnom_champ
est une valeur de chaîne, qui peut être une constante ou une expression.Cette variation de GET extrait la valeur VARIANT du champ avec le nom fourni à partir de la valeur de l’objet. Si le champ n’est pas trouvé, NULL est renvoyé. Le nom du champ ne doit pas être une chaîne vide.
v
est une valeur VARIANT etnom_champ
est une valeur de chaîne, qui peut être une constante ou une expression.Fonctionne de la même façon que GET avec
objet
, mais vérifie en outre quev
contient une valeur d’objet (et renvoie NULL siv
ne contient pas d’objet).tableau
est une valeur ARRAY etindex
est un entier, qui peut être une constante ou une expression.Cette variation de GET extrait VARIANT de la valeur de l’élément de tableau avec l’index donné. Si l’index pointe en dehors des limites du tableau ou si l’élément indexé n’existe pas (dans des tableaux fragmentés), cette fonction renvoie NULL.
v
est une valeur VARIANT etindex
est un entier, qui peut être une constante ou une expression.Fonctionne de manière similaire à GET avec
tableau
, mais vérifie en outre quev
contient une valeur de tableau (et renvoie NULL siv
ne contient pas de tableau).
Exemples¶
Extrayez la valeur maximale du champ temperature
de tous les objets de la table vartab
contenant le champ avec le champ sensorType
égal à indoor
:
SELECT MAX(AS_REAL(GET(v, 'temperature'))) FROM vartab WHERE AS_CHAR(GET(v, 'sensorType')) = 'indoor';
Pour des exemples plus détaillés, voir Interrogation de données semi-structurées.