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
- Les erreurs du secteur bancaire dans son approche IA
- Crypto Crime 2026 : États et cybercriminels convergent vers une industrialisation des infrastructures
- IA & pilotage de portefeuille de projets : accélérer la décision sans en perdre le contrôle
- Analyse Patch Tuesday Juin 2026
Articles les + lus
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
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
À la une de la chaîne Tech
- 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
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
