> Tech > Fonctions Coalesce et Value

Fonctions Coalesce et Value

Tech - Par iTPro.fr - Publié le 24 juin 2010
email

Les trucs & astuces de la semaine du 18 au 24 Juillet 2005: Limiter une instruction Select pour qu’elle ne traite que n lignes, Fichiers d'horodatage, Fonctions Coalesce et Value, Qu’est-ce que HATS LE ?.

Fonctions Coalesce et Value

L’une des joies du travail en freelance est qu’il vous conduit à 
traiter des programmes en tous genres écrits sur toutes
sortes de bases de données. Un programme qui m’était échu
et que j’étais en train de déboguer, lisait un fichier de commandes
traitées, en recherchant le numéro de commande le
plus haut (qui pouvait se trouver dans l’un quelconque de
deux champs) pour obtenir le point de départ des commandes
non traitées. (Je précise que je n’écrirais pas ce genre
de choses !)
Pour faire cela, le programme appliquait une logique tarabiscotée
qui d’ailleurs ne fonctionnait pas. Je l’ai remplacé
par l’instruction SQL suivante. A noter que les fonctions
Coalesce et Value sont équivalentes. Je les utilise toutes les
deux ici pour illustrer leur usage :

c/exec sql
c+ Declare ordmax Cursor for
c+ Select
c+ coalesce(max(Pord15),' '),
c+ from
c+ Xcp15
c+ Where
c+ Cono15 = :L#Cono
c+ For fetch only
c/end-exec

La fonction max pour les deux champs (Pord15 et
Sord15) renvoie la valeur maximale trouvée dans le fichier –
qui est simple et directe et qui a bien marché sur la base de
données de test. Mais ce programme était sur le point d’entrer
en production sur une nouvelle base de données, et un
fichier vide aurait renvoyé null et la logique aurait alors
échoué. Les fonctions coalesce/value accompagnent les
champs de la liste entre les parenthèses et renvoient la première
valeur non nulle. Ainsi, pour une nouvelle base de données,
des blancs sont renvoyés ; sinon, on obtient le numéro
de commande le plus élevé.
J’ai rarement vu utiliser ces fonctions et beaucoup ignorent
que même AS/400 Query a la même fonctionnalité en
utilisant value.

Téléchargez gratuitement cette ressource

Guide de Services Cloud Managés

Guide de Services Cloud Managés

Accélérer votre transformation digitale, protéger et sécuriser vos environnements Cloud avec les offres de support, d'accompagnement et de services managés. Découvrez le TOP 3 des Services Managés pour accompagner la transformation de vos environnements Cloud, gagner en agilité et en sécurité dans un monde d'incertitudes.

Tech - Par iTPro.fr - Publié le 24 juin 2010