Histórico da Página
Incluir Página | ||||
---|---|---|---|---|
|
Sintaxe
IIF( <expressão lógica>, <expressão 1>, <expressão 2> )
Propósito
Retorna o resultado de uma expressão baseado em uma condição.
Argumentos
< expressão lógica>
Define uma condição lógica a ser avaliada como verdadeira (.T.) ou falsa (.F.).
< expressão 1>
Define a expressão a ser processada quando o resultado da expressão lógica for verdadeiro (.T.).
< expressão 2>
Define a expressão a ser processada quando o resultado da expressão lógica for falso (.F.).
Utilização
A função IIF() é utilizada para o processamento condicional de uma expressão, de acordo com uma condição especificada através da expressão lógica. Se a expressão lógica for avaliada como verdadeira (.T.), a expressão 1 será processada. Se a expressão lógica for avaliada como falsa (.F.), a expressão 2 será processada.
A expressão lógica pode ser qualquer condição lógica válida, como por exemplo: nValor > 0, A = B, etc.
As expressões 1 e 2 poderão ser expressões de qualquer tipo de dado (caracter, numérico, data ou lógico), não sendo necessário que ambas resultem no mesmo tipo de dado.
Dicas
A função IIF() é muito flexível e útil, pois possui inúmeras aplicações vantajosas:
- Fornece um meio de avaliar uma condição dentro de uma expressão. Através dela é possível converter expressões lógicas em outro tipo de dado. Por exemplo:
- IF(DELETED(), “Deletado”, “Ativo”)
- Quando possível, substitui o comando IF ... ENDIF, economizando tempo de processamento.
Exemplos
// Verifica se a divisão pode ser realizada
LOCAL nCoef := IIF(nCoef > 0, nValor / nCoef, 0)
// Verifica o sinal de um número
LOCAL nCoef := IIF(nCoef >= 0, “Positivo”, “Negativo”)
A função IIF() pode ser utilizada para substituir a seguinte estrutura de programação:
IF cSexo == “F”
cNome := “Sra. “ + cNome
ELSE
cNome := “Sr. “ + cNome
ENDIF
A estrutura acima é equivalente à:
cNome := IIF(cSexo == “F”, “Sra. “, “Sr. “) + cNome