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 értéke true, akkor az első kifejezési lehetőséget adja vissza. Ellenkező esetben adja vissza a második kifejezést.

Szintaxis

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

Argumentumok

Leírás
bool_expr Logikai kifejezés, amelyet a rendszer kiértékel, és a két kiegészítő kifejezés közül melyiket használja.
true_expr A visszaadandó kifejezés, ha a logikai kifejezés értéke true.
not_true_expr A visszaadandó kifejezés, ha a logikai kifejezés ÉRTÉKE NEMtrue.

Visszaadott 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 egy logikai tulajdonságot kiértékelő kifejezés alapján értékeli ki egy tároló több elemének két lehetséges kifejezését.

[
  {
    "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 feltételes ternáris operátorhoz a különböző programozási nyelvekben. További információ: ternáris feltételes operátor.
  • Ez a függvény nem használja az indexet.

Lásd még