Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Operator perbandingan dan referensi fungsi
Bagian ini mencakup fungsi dan kata kunci bawaan untuk menulis ekspresi filter dan ekspresi kondisi di Amazon DynamoDB. Untuk informasi lebih rinci mengenai fungsi dan pemrograman dengan DynamoDB, lihat Pemrograman dengan DynamoDB dan SDK AWS dan Referensi API DynamoDB.
Topik
Sintaks untuk ekspresi filter dan kondisi
Dalam ringkasan sintaks berikut, operand
dapat berupa yang berikut ini:
-
Nama atribut tingkat atas, seperti
Id
,Title
,Description
, atauProductCategory
-
Jalur dokumen yang mereferensikan atribut bersarang
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
)
Membuat perbandingan
Gunakan pembanding ini untuk membandingkan operan dengan rentang nilai atau daftar nilai yang disebutkan:
-
— True jikaa
=b
a
sama denganb
. -
— True jikaa
<>b
a
tidak sama denganb
. -
— True jikaa
<b
a
kurang darib
. -
— True jikaa
<=b
a
kurang dari atau sama denganb
. -
— True jikaa
>b
a
lebih besar darib
. -
— True jikaa
>=b
a
lebih besar dari atau sama denganb
.
Gunakan kata kunci BETWEEN
dan IN
untuk membandingkan operan dengan rentang nilai atau daftar nilai yang disebutkan:
-
- True jikaa
BETWEENb
ANDc
a
lebih besar dari atau sama denganb
, dan kurang dari atau sama denganc
. -
– True jikaa
IN (b
,c
,d
)a
sama dengan nilai apa pun dalam daftar—misalnya, salah satu darib
,c
, ataud
. Daftar ini dapat berisi hingga 100 nilai, dipisahkan dengan koma.
Fungsi
Gunakan fungsi berikut untuk menentukan apakah atribut berada dalam item, atau untuk mengevaluasi nilai atribut. Nama fungsi ini peka huruf besar/kecil. Untuk atribut bersarang, Anda harus menyediakan jalur dokumen yang lengkap.
Fungsi | Deskripsi |
---|---|
|
True jika item berisi atribut yang ditentukan oleh Contoh: Periksa apakah item dalam tabel
|
|
True jika atribut yang ditentukan oleh Contoh: Periksa apakah item memiliki atribut
|
|
True jika atribut di jalur yang ditentukan merupakan jenis daya tertentu. Parameter
Anda harus menggunakan nilai atribut ekspresi untuk parameter Contoh: Periksa apakah atribut
Anda harus menggunakan nilai atribut ekspresi untuk parameter |
|
True jika atribut yang ditentukan oleh Contoh: Periksa apakah beberapa karakter pertama dari URL gambar tampilan depan adalah
Nilai atribut ekspresi |
|
True jika atribut yang ditentukan oleh
Jika atribut yang ditentukan oleh Jalan dan operan harus berbeda. Artinya, Contoh: Periksa apakah atribut
Nilai atribut ekspresi Contoh: Periksa apakah produk tersedia dalam warna merah.
Nilai atribut ekspresi |
|
Mengembalikan angka yang mewakili ukuran atribut ini. Berikut ini adalah jenis daya yang valid untuk digunakan dengan Jika atribut adalah jenis Contoh: Periksa apakah string
Jika atribut adalah jenis Contoh: Misalkan item
Jika atribut adalah jenis daya Contoh: Periksa apakah produk tersedia dalam lebih dari satu warna. Nilai atribut ekspresi
Jika atribut adalah jenis Contoh: Periksa apakah jumlah ulasan
|
Evaluasi logika
Gunakan kata kunci AND
, OR
, dan NOT
untuk melakukan evaluasi logika. Dalam daftar berikut, a
dan b
mewakili kondisi yang akan dievaluasi.
-
– True jikaa
ANDb
a
danb
adalah True. -
– True jikaa
ORb
a
ataub
(atau keduanya) adalah True. -
NOT
– True jikaa
a
adalah false. False jikaa
adalah true.
Berikut ini adalah contoh kode AND dalam suatu operasi.
dynamodb-local (*)> select * from exprtest where a > 3 and a < 5;
Tanda kurung
Gunakan tanda kurung untuk mengubah prioritas evaluasi logis. Sebagai contoh, misalkan kondisi a
dan b
adalah True, dan kondisi c
adalah False. Ekspresi berikut bernilai True:
-
a
ORb
ANDc
Namun, jika Anda mengapit kondisi dalam tanda kurung, kondisi tersebut akan dievaluasi terlebih dahulu. Misalnya, nilai berikut bernilai false:
-
(
a
ORb
) ANDc
catatan
Anda dapat menyarangkan tanda kurung dalam sebuah ekspresi. Bagian paling dalam akan dievaluasi terlebih dahulu.
Berikut ini adalah contoh kode dengan tanda kurung dalam evaluasi logis.
dynamodb-local (*)> select * from exprtest where attribute_type(b, string) or ( a = 5 and c = “coffee”);
Prioritas dalam kondisi
DynamoDB mengevaluasi kondisi dari kiri ke kanan menggunakan aturan prioritas berikut:
-
= <> < <= > >=
-
IN
-
BETWEEN
-
attribute_exists attribute_not_exists begins_with contains
-
Tanda kurung
-
NOT
-
AND
-
OR