다음을 통해 공유


스칼라 식 - Cosmos DB의 쿼리 언어(Azure 및 패브릭)

이 절은 SELECT 스칼라 식을 지원합니다. 스칼라 식은 단일 값을 얻기 위해 평가할 수 있는 기호와 연산자의 조합입니다. 스칼라 식의 예로는 상수, 속성 참조, 배열 요소 참조, 별칭 참조 또는 함수 호출이 있습니다. 스칼라 식은 연산자를 사용하여 복합 식으로 결합할 수 있습니다.

구문

<scalar_expression> ::=  
       <constant>
     | input_alias
     | parameter_name  
     | <scalar_expression>.property_name  
     | <scalar_expression>'['"property_name"|array_index']'  
     | unary_operator <scalar_expression>  
     | <scalar_expression> binary_operator <scalar_expression>    
     | <scalar_expression> ? <scalar_expression> : <scalar_expression>  
     | <scalar_function_expression>  
     | <create_object_expression>
     | <create_array_expression>  
     | (<scalar_expression>)
  
<scalar_function_expression> ::=  
        'udf.' Udf_scalar_function([<scalar_expression>][,…n])  
        | builtin_scalar_function([<scalar_expression>][,…n])  
  
<create_object_expression> ::=  
   '{' [{property_name | "property_name"} : <scalar_expression>][,…n] '}'  
  
<create_array_expression> ::=  
   '[' [<scalar_expression>][,…n] ']'

Arguments

Description
<constant> 상수 값을 나타냅니다. 자세한 내용은 상수 섹션을 참조하세요.
input_alias 절에 도입된 FROM 값으로 input_alias 정의된 값을 나타냅니다.
이 값은 입력에서 정의되지 않은 정의되지 않은 값을 건너뛰지 않도록 보장됩니다.
<scalar_expression>.property_name 개체의 속성 값을 나타냅니다. 속성이 없거나 개체가 아닌 값에서 속성이 참조되는 경우 식은 정의되지 않은 값으로 평가됩니다.
<scalar_expression>'['"property_name"|array_index']' 배열의 인덱 array_index 스가 있는 이름 property_name 또는 배열 요소가 있는 속성의 값을 나타냅니다. 속성/배열 인덱스가 없거나 개체/배열이 아닌 값에서 속성/배열 인덱스를 참조하는 경우 식은 정의되지 않은 값으로 평가됩니다.
unary_operator <scalar_expression> 단일 값에 적용되는 연산자를 나타냅니다.
<scalar_expression> binary_operator <scalar_expression> 두 값에 적용되는 연산자를 나타냅니다.
<scalar_function_expression> 함수 호출의 결과로 정의된 값을 나타냅니다.
udf_scalar_function 사용자 정의 스칼라 함수의 이름입니다.
builtin_scalar_function 기본 제공 스칼라 함수의 이름입니다.
<create_object_expression> 지정된 속성과 해당 값을 사용하여 새 개체를 만들어 얻은 값을 나타냅니다.
<create_array_expression> 지정된 값을 요소로 사용하여 새 배열을 만들어 얻은 값을 나타냅니다.
parameter_name 지정된 매개 변수 이름의 값을 나타냅니다. 매개 변수 이름에는 첫 번째 문자로 @가 하나 있어야 합니다.

예시

스칼라 식의 가장 일반적인 예는 수학 수식입니다.

SELECT VALUE
  ((2 + 11 % 7) - 2) / 2
[
  2
]

다음 예제에서 스칼라 식의 결과는 부울입니다.

SELECT
  ("Redmond" = "WA") AS isCitySameAsState,
  ("WA" = "WA") AS isStateSameAsState
[
  {
    "isCitySameAsState": false,
    "isStateSameAsState": true
  }
]

비고

  • 기본 제공 또는 사용자 정의 스칼라 함수를 호출할 때 모든 인수를 정의해야 합니다. 인수가 정의되지 않은 경우 함수가 호출되지 않고 결과가 발생합니다 undefined.
  • 정의되지 않은 값이 할당된 모든 속성은 건너뛰고 개체를 만들 때 만든 개체에 포함되지 않습니다.
  • 정의되지 않은 값이 할당된 모든 요소 값은 건너뛰고 배열을 만들 때 만든 개체에 포함되지 않습니다. 이 건너뛰기를 사용하면 생성된 배열이 인덱스를 건너뛰지 않는 방식으로 다음 정의된 요소가 해당 위치에 배치됩니다.