IIF (query NoSQL)
SI APPLICA A: NoSQL
Valuta un'espressione booleana e restituisce il risultato di una di due espressioni a seconda del risultato dell'espressione booleana. Se l'espressione booleana restituisce , restituisce true
la prima opzione di espressione. In caso contrario, restituire la seconda opzione di espressione.
Sintassi
IIF(<bool_expr>, <true_expr>, <not_true_expr>)
Argomenti
Descrizione | |
---|---|
bool_expr |
Espressione booleana, valutata e utilizzata per determinare quale delle due espressioni supplementari usare. |
true_expr |
Espressione da restituire se l'espressione booleana ha restituito true . |
not_true_expr |
Espressione da restituire se l'espressione booleana ha restituito NOT true . |
Tipi restituiti
Restituisce un'espressione, che può essere di qualsiasi tipo.
Esempi
Questo primo esempio valuta un'espressione booleana statica e restituisce una delle due espressioni potenziali.
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
}
]
Questo esempio valuta una delle due espressioni potenziali su più elementi in un contenitore in base a un'espressione che valuta una proprietà 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 query usa campi negli elementi originali.
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
}
]
Osservazioni:
- Questa funzione è simile all'operatore condizionale ternario in vari linguaggi di programmazione. Per altre informazioni, vedere Operatore condizionale ternario.
- Questa funzione non usa l'indice.