Comparison Operator and Function Reference - Amazon DynamoDB

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

Comparison Operator and Function Reference

このセクションでは、Amazon DynamoDB の書き込み条件式の組み込み関数およびキーワードについて説明します。

Syntax for Condition Expressions

次の構文サマリーでは、operand 以下になります。

  • A top-level attribute name, such as Id, Title, Description, or ProductCategory

  • A document path that references a nested attribute

condition-expression ::= operand comparator operand | operand BETWEEN operand AND operand | operand IN ( operand (',' operand (, ...) )) | function | condition AND condition | condition OR condition | NOT condition | ( condition ) comparator ::= = | <> | < | <= | > | >= function ::= attribute_exists (path) | attribute_not_exists (path) | attribute_type (path, type) | begins_with (path, substr) | contains (path, operand) | size (path)

Making Comparisons

これらのコンパレータを使用して、値の範囲または値の列挙リストに対してオペランドを比較します。

  • a = b — true if a is equal to b

  • a <> b — true if a is not equal to b

  • a < b — true if a is less than b

  • a <= b — true if a is less than or equal to b

  • a > b — true if a is greater than b

  • a >= b — true if a is greater than or equal to b

値の範囲または値の列挙リストに対してオペランドを比較するには、BETWEEN および IN キーワードを使用します。

  • a BETWEEN b AND c - true if a is greater than or equal to b, and less than or equal to c.

  • a IN (b, c, d) — true if a is equal to any value in the list — for example, any of b, c or d. The list can contain up to 100 values, separated by commas.

Functions

以下の関数を使用して、ある属性が項目に存在するか判定したり、属性の値を評価したりします。これらの関数名では大文字と小文字が区別されます。入れ子の属性では、完全ドキュメントパスを指定する必要があります。

関数 説明:

attribute_exists (path)

項目に、path で指定した属性が含まれる場合、true。

例: 。アイテムが Product 表には側面図があります。

  • attribute_exists (Pictures.SideView)

attribute_not_exists (path)

path で指定した属性が項目に存在しない場合、true。

例: 。アイテムに Manufacturer 属性。

  • attribute_not_exists (Manufacturer)

attribute_type (path, type)

指定したパスの属性が、特定のデータ型のものである場合、true。type パラメータは次のいずれかである必要があります。

  • S — String

  • SS — String Set

  • N — Number

  • NS — Number Set

  • B — Binary

  • BS — Binary Set

  • BOOL — Boolean

  • NULL — Null

  • L — List

  • M — Map

type パラメータには、式の属性値を使用する必要があります。

例: 。が QuantityOnHand 属性はリスト型です。この例では、:v_sub は文字列 L のプレースホルダーです。

  • attribute_type (ProductReviews.FiveStar, :v_sub)

type パラメータには、式の属性値を使用する必要があります。

begins_with (path, substr)

path で指定された属性が特定のサブ文字列から始まる場合、true。

例: 。正面図URLの最初の数文字が http://.

  • begins_with (Pictures.FrontView, :v_sub)

式の属性値 :v_sub は、http:// のプレースホルダーです。

contains (path, operand)

path で指定された属性が次の属性である場合、true。

  • A String that contains a particular substring.

  • A Set that contains a particular element within the set.

は、 operand は である必要があります String によって指定された属性の場合 pathString。 によって指定された属性が pathSetoperand はセットの要素タイプである必要があります。

パスとオペランドは異なっている必要があります。つまり contains (a, a) はエラーを返します。

例: 。が Brand 属性にサブ文字列が含まれています Company.

  • contains (Brand, :v_sub)

式の属性値 :v_sub は、Company のプレースホルダーです。

例: 。製品が赤色で表示されているかどうかを確認します。

  • contains (Color, :v_sub)

式の属性値 :v_sub は、Red のプレースホルダーです。

size (path)

属性のサイズを表す数値を返します。以下は、size で使用できる有効なデータ型です。

属性は String 型で、size は文字列の長さを返します。

例: 。文字列が Brand は20文字以下です。式の属性値 :v_sub は、20 のプレースホルダーです。

  • size (Brand) <= :v_sub

属性が Binary バイナリ型の場合、size は属性値のバイト数を返します。

例: 。たとえば、 ProductCatalog アイテムには という名前のバイナリ属性があります VideoClip使用製品の短いビデオを含む。次の式は、VideoClip が 64,000 バイトを超えるかどうかを確認します。式の属性値 :v_sub は、64000 のプレースホルダーです。

  • size(VideoClip) > :v_sub

属性が Set データ型の場合、size は設定の要素数を返します。

例: 。商品が2色以上あるか確認する。式の属性値 :v_sub は、1 のプレースホルダーです。

  • size (Color) < :v_sub

属性が List 型または Map のものである場合、size は子要素の数を返します。

例: 。の番号が OneStar 件のレビューが特定のしきい値を超えました。式の属性値 :v_sub は、3 のプレースホルダーです。

  • size(ProductReviews.OneStar) > :v_sub

Logical Evaluations

論理評価を実行するには、ANDORNOT キーワードを使用します。次のリストでは、a および b 評価される条件を表します。

  • a AND b — true if a and b are both true.

  • a OR b — true if either a or b (or both) are true.

  • NOT a — true if a is false; false if a is true.

Parentheses

論理評価の優先順位を変更するには括弧を使用します。たとえば、a および b 真実であり、その条件が c はfalseです。次の式は true と評価されます。

  • a OR b AND c

しかし、条件を括弧で囲むと、それが最初に評価されます。たとえば、次の式は false と評価されます。

  • (a OR b) AND c

注記

式では括弧を入れ子にできます。最も内側の括弧が最初に評価されます。

Precedence in Conditions

DynamoDB では、条件は次の優先順位ルールを使用して左から右に評価されます。

  • = <> < <= > >=

  • IN

  • BETWEEN

  • attribute_exists attribute_not_exists begins_with contains

  • Parentheses

  • NOT

  • AND

  • OR