Histórico da Página
Sintaxis
IIF( <expresión lógica>, <expresión 1>, <expresión 2> )
Propósito
Devuelve el resultado de una expresión con base en una condición.
Argumentos
< expresión lógica>
Define una condición lógica que se evaluará como verdadera (.T.) o falsa (.F.).
< expresión 1>
Define la expresión que se procesará cuando el resultado de la expresión lógica sea verdadero (.T.).
< expresión 2>
Define la expresión que se procesará cuando el resultado de la expresión lógica sea falso (.F.).
Utilización
La función IIF() se utiliza para el procesamiento condicional de una expresión, de acuerdo con una condición especificada por medio de la expresión lógica. Si la expresión lógica se evalúa como verdadera (.T.), se procesará la expresión 1. Si la expresión lógica se evalúa como falsa (.F.), se procesará la expresión 2.
La expresión lógica puede ser cualquier condición lógica válida, como por ejemplo: nValor > 0, A = B, etc.
Las expresiones 1 y 2 podrán ser expresiones de cualquier tipo de dato (carácter, numérico, fecha o lógico), sin necesidad de que ambas sean del mismo tipo de dato.
Sugerencias
La función IIF() es bastante flexible y útil, pues tiene innumerables aplicaciones ventajosas:
- Proporciona un medio para evaluar una condición dentro de una expresión. Por medio de esta, es posible convertir expresiones lógicas en otro tipo de dato. Por ejemplo:
- IF(DELETED(), “Borrado”, “Activo”)
- Cuando sea posible, sustituye el comando IF ... ENDIF, economizando el tiempo de procesamiento.
Ejemplos
// Verifica si puede realizarse la división
LOCAL nCoef := IIF(nCoef > 0, nValor / nCoef, 0)
// Verifica el signo de un número
LOCAL nCoef := IIF(nCoef >= 0, “Positivo”, “Negativo”)
La función IIF() puede utilizarse para sustituir la siguiente estructura de programación:
IF cSexo == “F”
cNome := “Sra. “ + cNome
ELSE
cNome := “Sr. “ + cNome
ENDIF
La estructura anterior equivale a:
cNome := IIF(cSexo == “F”, “Sra. “, “Sr. “) + cNome