比較演算子および関数リファレンス - Amazon DynamoDB

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

比較演算子および関数リファレンス

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

条件式の構文

次の構文の概要では、operand には以下のような値を指定できます。

  • 最上位の属性名 (IdTitleDescriptionProductCategory など)

  • 入れ子の属性を参照するドキュメントパス

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)

比較の実行

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

  • 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 a が 以上に b

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

  • a BETWEEN b AND c - true ( a が 以上に b、以下 c.

  • a IN (b, c, d) の場合、— true a は、リスト内の任意の値 — と等しくなります。たとえば、 のいずれかです。b, c または d。 リストには、コンマで区切って最大 100 個の値を含めることができます。

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 — 文字列

  • SS — 文字列セット

  • N — 番号

  • NS — 数値セット

  • B — バイナリ

  • BS — バイナリセット

  • BOOL — ブール

  • NULL — Null

  • L — リスト

  • M — マップ

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。

  • 特定のサブ文字列を含む String

  • 設定の中に特定の要素を含む Set

で指定された属性が operand である場合、Stringpath である必要があります。String で指定された属性が path の場合、Set はセットの要素タイプである必要があります。operand

パスとオペランドは異なっている必要があります。つまり 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 は設定の要素数を返します。

例: 製品が複数の色で入手可能かどうかを確認します。式の属性値 :v_sub は、1 のプレースホルダーです。

  • size (Color) < :v_sub

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

例: レビューの数が特定のしきい値を超えているかどうかを確認します。OneStar式の属性値 :v_sub は、3 のプレースホルダーです。

  • size(ProductReviews.OneStar) > :v_sub

論理評価

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

  • a AND b の場合、— true a および b はどちらも true です。

  • a OR b いずれかの場合は true— a または b (または両方) は true です。

  • NOT a の場合、— true a が false の場合。false です a は true です。

Parentheses

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

  • a OR b AND c

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

  • (a OR b) AND c

注記

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

条件の優先順位

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

  • = <> < <= > >=

  • IN

  • BETWEEN

  • attribute_exists attribute_not_exists begins_with contains

  • 括弧

  • NOT

  • AND

  • OR