비교 연산자 및 함수 참조
이 섹션에서는 Amazon DynamoDB에서 필터 표현식 및 조건 표현식을 작성하기 위한 기본 제공 함수와 키워드에 대해 살펴봅니다.
필터 및 조건 표현식 구문
아래의 구문 요약에서 피연산 함수
는 다음과 같이 사용됩니다.
-
Id
,Title
,Description
,ProductCategory
등의 최상위 속성 -
내포 속성을 참조하는 문서 경로
condition-expression ::=
operand
comparatoroperand
|operand
BETWEENoperand
ANDoperand
|operand
IN (operand
(','operand
(, ...) )) | function |condition
ANDcondition
|condition
ORcondition
| NOTcondition
| (condition
) comparator ::= = | <> | < | <= | > | >= function ::= attribute_exists (path
) | attribute_not_exists (path
) | attribute_type (path
,type
) | begins_with (path
,substr
) | contains (path
,operand
) | size (path
)
비교 실행
이러한 비교기를 사용하여 피연산 함수와 값의 범위 또는 열거된 값 목록을 비교합니다.
-
-a
=b
a
가b
와 같은 경우 true -
-a
<>b
a
가b
와 같지 않은 경우 true -
-a
<b
a
가b
보다 작은 경우 true -
-a
<=b
a
가b
보다 작거나 같은 경우 true -
-a
>b
a
가b
보다 큰 경우 true -
-a
>=b
a
가b
보다 크거나 같은 경우 true
BETWEEN
및 IN
키워드를 사용하여 피연산 함수와 값의 범위 또는 열거된 값 목록을 비교합니다.
-
-a
BETWEENb
ANDc
a
가b
보다 크거나 같고c
보다 작거나 같은 경우 true -
-a
IN (b
,c
,d
)a
가 목록의 임의 값(b
,c
,d
값 등)과 같은 경우 true. 목록에는 쉼표로 구분된 최대 100개의 값이 포함될 수 있습니다.
함수
다음의 함수를 사용하여 항목에 속성이 존재하는지 판단하거나 속성 값을 평가합니다. 함수 이름은 대/소문자를 구분합니다. 중첩 속성의 경우 전체 문서 경로를 제공해야 합니다.
함수 | 설명 |
---|---|
|
예:
|
|
예: 항목에
|
|
지정된 경로의 속성이 특정 데이터 유형인 경우 true.
예:
|
|
예: 정면 사진 URL이
수식 속성 값인 |
|
경로와 피연산 함수는 명확하게 지정되어야 합니다. 즉, 예:
수식 속성 값인 예: 빨간색 제품 색상을 선택할 수 있는지 확인합니다.
수식 속성 값인 |
|
속성의 크기를 나타내는 숫자가 반환됩니다. 속성이 예:
속성이 예:
속성이 예: 한 가지 이상의 제품 색상을 선택할 수 있는지 확인합니다. 수식 속성 값인
속성이 예:
|
논리 평가
AND
, OR
및 NOT
키워드를 사용하여 논리 평가를 수행합니다. 아래의 목록에서 a
와 b
는 평가될 조건을 나타냅니다.
-
-a
ANDb
a
및b
가 모두 true인 경우 true -
-a
ORb
a
또는b
가(또는 둘 모두) true인 경우 true -
NOT
-a
a
가 false이면 true,a
가 true이면 false
괄호
논리 평가의 우선 순위를 변경하려면 괄호를 사용합니다. 예를 들어 a
및 b
조건이 true이고 c
조건이 false인 경우를 가정할 수 있습니다. 다음 수식들은 true로 평가됩니다.
-
a
ORb
ANDc
그러나 조건을 괄호로 묶으면 해당 조건을 먼저 평가하게 됩니다. 예를 들어 아래의 경우에는 false로 평가됩니다.
-
(
a
ORb
) ANDc
참고
수식에 괄호를 포함시킬 수 있습니다. 가장 안쪽에 위치한 괄호부터 먼저 평가됩니다.
조건식의 우선 순위
DynamoDB는 다음의 우선 순위 규칙을 사용하여 왼쪽에서 오른쪽 방향으로 조건식을 평가합니다.
-
= <> < <= > >=
-
IN
-
BETWEEN
-
attribute_exists attribute_not_exists begins_with contains
-
괄호
-
NOT
-
AND
-
OR