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 cette ressource
Sécuriser Microsoft 365 avec une approche Zero-Trust
Découvrez comment renforcer la cyber-résilience de Microsoft 365 grâce à une approche Zero-Trust, une administration granulaire et une automatisation avancée. La technologie Virtual Tenant de CoreView permet de sécuriser et simplifier la gestion des environnements complexes, tout en complétant vos stratégies IAM, y compris dans les secteurs réglementés.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Attaques edge : les fournisseurs, nouvelle cible prioritaire des cybercriminels
- Analyse Patch Tuesday Août 2026
- Model Context Protocol : le contexte, grand oublié du débat
- Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
Articles les + lus
Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
Model Context Protocol : le contexte, grand oublié du débat
Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
À la une de la chaîne Tech
- Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
- Model Context Protocol : le contexte, grand oublié du débat
- Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
