5.2 Consultation et extraction de données dans une table
79
© Dunod – La photocopie non autorisée est un délit.
Exemples
extract(year from DATECOM) + 1
extract(hour from current_time) > 18
f) Fonctions de sélection
Ces fonctions renvoient une valeur choisie parmi plusieurs.
• case when c1 then v1
when c2 then v2
...
else vn
end
renvoie la valeur v1 si la condition c1 est vraie, sinon, renvoie v2 si c2 est
vraie, ... , sinon renvoie vn;
• case expr
when V1 then v1
when V2 then v2
...
else vn
end
variante de la précédente pour des conditions de la forme expr = Vi;
• coalesce(expr1,expr2,...,exprn) : renvoie la première expression différente de null, soit null s’il n’y en a pas;
• nullif(expr1,expr2) : renvoie expr1 si celle-ci est non null, expr2 sinon;
Exemples
select NCLI,
case substring(CAT from 1 for 1)
when 'A' then 'bon'
when 'B' then 'moyen'
when 'C' then 'occasionnel'
else
'inconnu'
end, LOCALITE
from CLIENT
g) Registres du système
Le SGBD fournit des valeurs courantes relatives à l’environnement de l’utilisateur au moment de l’exécution de la requête :
• current_user : l’identification de l’utilisateur courant;
• current_date : la date courante
• current_time : l’instant courant
• current_timestamp : date + instant courant.
La requête suivante ne renverra un résultat que si elle est exécutée le premier du
mois :
Précédent

- 79/436

Suivant