Nesta seção: Como: |
É possível chamar uma função nos critérios WHERE ou IF. Quando você efetua esta ação, o valor de saída da função é comparado com um teste de valor.
WHERE function relation expression
onde:
É uma função.
É um operador que determina a relação entre a função e a expressão, por exemplo, EQ ou LE.
É uma constante, um campo ou uma função. Um literal deve vir entre aspas simples.
IF function relation value
onde:
É uma função.
É um operador que determina a relação entre a função e a expressão, por exemplo, EQ ou LE.
É uma constante. Em um comando DEFINE ou COMPUTE, o valor deve estar entre aspas simples.
A função SUBSTR extrai os dois primeiros caracteres de LAST_NAME como uma substring, e a solicitação imprime o nome e o salário de um funcionário caso a substring seja MC.
TABLE FILE EMPLOYEE PRINT FIRST_NAME LAST_NAME CURR_SAL WHERE SUBSTR(15, LAST_NAME, 1, 2, 2, 'A2') IS 'MC'; END
A saída é:
FIRST_NAME LAST_NAME CURR_SAL ---------- --------- -------- JOHN MCCOY $18,480.00 ROGER MCKNIGHT $16,100.00
É necessário especificar o formato do valor de saída em um cálculo ou comando IF composto. Há duas formas de se fazer isso:
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';
Information Builders |