Aller au contenu

Service SQL IBM i (AS/400) · Fonction scalaire

SYSTOOLS.EVEN

Tester si un nombre est pair

Indique si le nombre passé en argument est pair : petite fonction utilitaire SQL, pratique dans un WHERE ou une alternance de lignes.

À quoi ça sert

Cette fonction scalaire reçoit un entier (NUMBER, de type BIGINT) et renvoie une indication de parité. Elle s'utilise avec VALUES ou dans une clause WHERE pour ne garder que les lignes de rang pair.

C'est une fonction d'exemple de SYSTOOLS, livrée par IBM avec son source : on peut la lire pour s'en inspirer, ou la remplacer par l'opérateur MOD. Son jumeau SYSTOOLS.ODD teste l'imparité.

Résultat réel sur un IBM i 7.5

Ce que nous avons exécuté :

VALUES SYSTOOLS.EVEN(17)

Ce que l'IBM i a renvoyé le 01/10/2026 (1 ligne au plus) :

00001
false

Données anonymisées : les noms de système, de profils, de bibliothèques, de postes et les adresses IP ont été remplacés. Les objets du schéma JOBISQL sont des objets de démonstration créés pour ce site.

L'exemple d'IBM

Déterminer si l'argument 17 est un nombre pair.

-- Description: Determine whether the input argument is an even number. 
    VALUES SYSTOOLS.EVEN(17);

Paramètres

ParamètreTypePar défautSignification
NUMBER BIGINT obligatoire Nombre à tester