par Gary Guthrie
Pour de nombreux programmeurs et développeurs, SQL n'est pas le favori pour les définitions de bases de données et les entrées/sorties (I/O) d'applications. En la matière, DDS et l'I/O natif prévalent. SQL a pourtant sa place dans de tels environnements ...Outre ces possibilités d'I/O, SQL offre des fonctions intégrées qui simplifient certaines tâches applicatives. Ceux qui n'utilisent que l'I/O natif ne sont peut-être pas familiarisés avec ces fonctions et ignorent à quel point il est facile de les inclure dans des applications. Dans cet article, je présente un ensemble de fonctions intégrées SQL - les fonctions scalaires - et montre comment elles peuvent améliorer les applications, que l'on utilise SQL ou des techniques d'I/O natives.
Fonctions scalaires de SQL pour un code plus léger et plus serré
On peut voir une fonction scalaire comme l’équivalent SQL d’une procédure RPG qui renvoie une valeur. Opérant sur un seul argument dont elles tirent une valeur de renvoi, les fonctions se présentent sous la forme :
FunctionName (Argument)
Les fonctions scalaires incluent des fonctions mathématiques (valeurs absolues, génération de nombres aléatoires, opérations trigonométriques, par exemple), des fonctions de date et d’heure (jour de la semaine, jour du mois, semaine de l’année, heure du jour, par exemple) et des fonctions chaîne (concaténation, conversion de casse, opérations de sous-chaîne, par exemple). Ainsi, la fonction scalaire DayOfWeek renvoie un nombre représentant le jour de la semaine correspondant à une date donnée (1 = Dimanche, 2 = Lundi, 7 = Samedi, par exemple). Soit, l’instruction SQL suivante :
Select * From SomeFile Where Day0fWeek(SomeDate) = 7
Cette instruction renvoie toutes les lignes de SomeFile dans lesquelles le champ SomeDate est un samedi. La liste complète des fonctions scalaires se trouve dans le manuel IBM DB2 Universal Database for iSeries SQL Reference (voir Autres lectures). En plus d’utiliser les fonctions scalaires dans des instructions SQL standard, on peut aussi les imbriquer dans des programmes HLL comme opérations autonomes (pour RPG IV, il faut définir le type source comme SQLRPGLE). Bien qu’on puisse écrire du code dans un langage évolué (HLL) pour effectuer les mêmes tâches, les fonctions scalaires présentent des avantages appréciables : les programmes ainsi écrits sont plus compacts, plus compréhensibles et moins sujets à erreur. On peut même améliorer les performances.
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
- Cloud et IA : une maturité en retard face à l’explosion des usages
- On ne peut pas gouverner ce qu’on ne peut pas voir : pourquoi la visibilité doit-elle passer avant la gouvernance en matière de sécurité des identités ?
- L’IA amplifie les risques sur les API
- Fuites de données : la France, 2ème pays le plus touché au monde début 2026
Articles les + lus
Les coûts cachés des merge requests générées par l’IA
Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
Moderniser le développement logiciel : de la fragmentation à l’intégration
Analyse Patch Tuesday Mars 2026
Une nouvelle ère de la modernisation du mainframe
À la une de la chaîne Tech
- Les coûts cachés des merge requests générées par l’IA
- Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
- Moderniser le développement logiciel : de la fragmentation à l’intégration
- Analyse Patch Tuesday Mars 2026
- Une nouvelle ère de la modernisation du mainframe
