Dans cette section : Comment : |
Vous pouvez invoquer une fonction dans les critères WHERE ou IF. Ainsi, la valeur de sortie de la fonction est comparée à une valeur de test.
WHERE function relation expression
où :
est une fonction.
est un opérateur qui détermine la relation entre la fonction et l'expression, par exemple, EQ et LE.
est une constante, un champ, ou une fonction. Un littéral doit être entouré par des guillemets simples.
IF function relation value
où :
est une fonction.
est un opérateur qui détermine la relation entre la fonction et l'expression, par exemple, EQ et LE.
est une constante obligatoire. Dans une commande DEFINE ou COMPUTE, la valeur doit être encadrée par des guillemets simples.
La fonction SUBSTR extrait les deux premiers caractères de LAST_NAME en tant que sous-chaîne, et la requête imprime le nom et le salaire d'un employé si la sous-chaîne MC.
TABLE FILE EMPLOYEE PRINT FIRST_NAME LAST_NAME CURR_SAL WHERE SUBSTR(15, LAST_NAME, 1, 2, 2, 'A2') IS 'MC'; END
La sortie est :
FIRST_NAME LAST_NAME CURR_SAL ---------- --------- -------- JOHN MCCOY $18,480.00 ROGER MCKNIGHT $16,100.00
Vous devez spécifier le format de la valeur de sortie dans une commande calcul ou IF composé. Il y a deux façons de faire cela :
COMPUTE AMOUNT/D8.2 =; AMOUNT_FLAG/A5 = IF function(input1, input2, AMOUNT) GE 500 THEN 'LARGE' ELSE 'SMALL';
DEFINE AMOUNT_FLAG/A5 = IF function(input1, input2, 'D8.2') GE 500 THEN 'LARGE' ELSE 'SMALL';
WebFOCUS |