IIF (consulta NoSQL)
SE APLICA A: NoSQL
Evalúa una expresión booleana y devuelve el resultado de una de las dos expresiones en función del resultado de la expresión booleana. Si la expresión booleana se evalúa como true
, devuelve la primera opción de expresión. De lo contrario, devuelve la segunda opción de expresión.
IIF(<bool_expr>, <true_expr>, <not_true_expr>)
Descripción | |
---|---|
bool_expr |
Una expresión booleana, que se evalúa y se usa para determinar cuál de las dos expresiones complementarias usar. |
true_expr |
La expresión que se va a devolver si la expresión booleana se evalúa como true . |
not_true_expr |
Expresión que se va a devolver si la expresión booleana se evalúa como NOT true . |
Devuelve una expresión, que podría ser de cualquier tipo.
Este primer ejemplo evalúa una expresión booleana estática y devuelve una de las dos posibles expresiones.
SELECT VALUE {
evalTrue: IIF(true, 123, 456),
evalFalse: IIF(false, 123, 456),
evalNumberNotTrue: IIF(123, 123, 456),
evalStringNotTrue: IIF("ABC", 123, 456),
evalArrayNotTrue: IIF([1,2,3], 123, 456),
evalObjectNotTrue: IIF({"name": "Alice", "age": 20}, 123, 456)
}
[
{
"evalTrue": 123,
"evalFalse": 456,
"evalNumberNotTrue": 456,
"evalStringNotTrue": 456,
"evalArrayNotTrue": 456,
"evalObjectNotTrue": 456
}
]
Este ejemplo evalúa una de las dos expresiones posibles en varios elementos de un contenedor en función de una expresión que evalúa una propiedad booleana.
[
{
"name": "Estrel Set Cutlery",
"onSale": true,
"category": "camp-utensils",
"pricing": {
"msrp": 55.95,
"sale": 30.85
}
},
{
"name": "Willagno Spork",
"onSale": false,
"category": "camp-utensils",
"pricing": {
"msrp": 20.15,
"sale": 12.55
}
}
]
La consulta usa campos en los elementos originales.
SELECT
p.name,
IIF(p.onSale, p.pricing.sale, p.pricing.msrp) AS price
FROM
products p
WHERE
p.category = "camp-utensils"
[
{
"name": "Estrel Set Cutlery",
"price": 30.85
},
{
"name": "Willagno Spork",
"price": 20.15
}
]
- Esta función es similar al operador condicional ternario en varios lenguajes de programación. Para saber más, consulte el operador condicional ternario.
- Esta función del sistema no emplea el índice.
- System functions (Funciones del sistema)
ToString