다음을 통해 공유


IIF(NoSQL 쿼리)

적용 대상: NoSQL

부울 식을 계산하고 부울 식의 결과에 따라 두 식 중 하나의 결과를 반환합니다. 부울 식이 true로 계산되면 첫 번째 식 옵션을 반환합니다. 그렇지 않으면 두 번째 식 옵션을 반환합니다.

구문

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

인수

설명
bool_expr 계산되고 사용할 두 추가 식 중 어느 것을 결정하는 데 사용되는 부울 식입니다.
true_expr 부울 식이 true로 계산되는 경우 반환할 식입니다.
not_true_expr 부울 식이 NOTtrue으로 계산된 경우 반환할 식입니다.

반환 형식

모든 형식일 수 있는 식을 반환합니다.

예제

이 첫 번째 예제에서는 정적 부울 식을 평가하고 두 개의 잠재적 식 중 하나를 반환합니다.

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

이 예제에서는 부울 속성을 평가하는 식을 기반으로 컨테이너의 여러 항목에 대한 두 가지 잠재적 식 중 하나를 평가합니다.

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

쿼리는 원래 항목의 필드를 사용합니다.

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

설명

  • 이 함수는 다양한 프로그래밍 언어의 3개로 구성된 조건부 연산자와 유사합니다. 자세한 내용은 3개로 구성된 조건부 연산자를 참조하세요.
  • 이 함수는 인덱스를 활용하지 않습니다.

참고 항목