Retorna o resultado de uma expressão baseado em uma condição.


01. SINTAXE

ret := IIF( <exp1>,  <val1>, <val2> )


02. PARÂMETROS

Nome

Tipo

Descrição

Obrigatório

Referência

exp1

expressão

Define uma condição lógica a ser avaliada como verdadeira (.T.) ou falsa (.F.).

S


val1expressãoDefine a expressão a ser processada ou ou valor retornado quando o resultado da expressão lógica for verdadeiro (.T.).S
val2expressãoDefine a expressão a ser processada ou ou valor retornado quando o resultado da expressão lógica for falso (.F.).S


03. RETORNO

Nome

Tipo

Descrição

ret

variável

O retorno do iif vai depender da expressão ou conteúdo em val1 ou val2, de acordo com a avaliação da exp1


04. OBSERVAÇÕES

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:
    • IIF(DELETED(), “Deletado”, “Ativo”)
  • Quando possível, substitui o comando IF ... ENDIF, economizando tempo de processamento.



05. 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




06. VEJA TAMBÉM




<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
table {
	border: 1px solid;
}
.syntaxhighlighter {
	overflow: initial;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}
</style>