IIF (NoSQL-Abfrage)
GILT FÜR: NoSQL
Wertet einen booleschen Ausdruck aus und gibt das Ergebnis eines von zwei Ausdrücken abhängig vom Ergebnis des booleschen Ausdrucks zurück. Wenn der boolesche Ausdruck zu true
ausgewertet wird, wird die erste Ausdrucksoption zurückgegeben. Andernfalls geben Sie die zweite Ausdrucksoption zurück.
Syntax
IIF(<bool_expr>, <true_expr>, <not_true_expr>)
Argumente
BESCHREIBUNG | |
---|---|
bool_expr |
Ein boolescher Ausdruck, der ausgewertet und verwendet wird, um zu bestimmen, welcher der beiden zusätzlichen Ausdrücke verwendet werden soll. |
true_expr |
Der Ausdruck, der zurückgegeben werden soll, wenn der boolesche Ausdruck zu true ausgewertet wird. |
not_true_expr |
Der Ausdruck, der zurückgegeben werden soll, wenn der boolesche Ausdruck in NOT true ausgewertet wird. |
Rückgabetypen
Gibt einen Ausdruck zurück, der von einem beliebigen Typ sein kann.
Beispiele
Dieses erste Beispiel wertet einen statischen booleschen Ausdruck aus und gibt einen von zwei möglichen Ausdrücken zurück.
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
}
]
In diesem Beispiel wird einer von zwei möglichen Ausdrücken für mehrere Elemente in einem Container auf der Grundlage eines Ausdrucks ausgewertet, der eine boolesche Eigenschaft auswertet.
[
{
"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
}
}
]
Die Abfrage verwendet Felder in den ursprünglichen Elementen.
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
}
]
Bemerkungen
- Diese Funktion ist vergleichbar mit dem ternären bedingten Operator in verschiedenen Programmiersprachen. Weitere Informationen finden Sie unter ternärer bedingter Operator.
- Der Index wird von dieser Funktion nicht verwendet.