Megosztás a következőn keresztül:


IIF (NoSQL-lekérdezés)

A KÖVETKEZŐRE VONATKOZIK: NoSQL

Kiértékel egy logikai kifejezést, és a logikai kifejezés eredményétől függően két kifejezés egyikének eredményét adja vissza. Ha a logikai kifejezés kiértékelése így truetörténik, az első kifejezési lehetőséget adja vissza. Ellenkező esetben adja vissza a második kifejezési lehetőséget.

Syntax

IIF(<bool_expr>, <true_expr>, <not_true_expr>)

Argumentumok

Leírás
bool_expr Logikai kifejezés, amelyet kiértékelünk, és a két kiegészítő kifejezés közül melyiket használjuk.
true_expr A visszaadandó kifejezés, ha a logikai kifejezés kiértékelése így történik true: .
not_true_expr A visszaadandó kifejezés, ha a logikai kifejezés NEM trueértékre van kiértékelve.

Visszatérési típusok

Bármilyen típusú kifejezést ad vissza.

Példák

Ez az első példa egy statikus logikai kifejezést értékel ki, és két lehetséges kifejezés egyikét adja vissza.

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
  }
]

Ez a példa a tároló több elemén lévő két lehetséges kifejezés egyikét értékeli ki egy logikai tulajdonságot kiértékelő kifejezés alapján.

[
  {
    "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
    }
  }
]

A lekérdezés az eredeti elemek mezőit használja.

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
  }
]

Megjegyzések

  • Ez a függvény hasonló a különböző programozási nyelvek ternáris feltételes operátorához. További információ: ternáris feltételes operátor.
  • Ez a függvény nem használja az indexet.

Lásd még