次の表に、DynamoDB 用の PartiQL で使用できるデータ型を、一覧で表示します。
DynamoDB データ型 | PartiQL 表現 | コメント |
---|---|---|
Boolean |
TRUE、FALSE | 大文字と小文字は区別されません。 |
Binary |
該当なし | コード経由でのみサポートされます。 |
List |
[ value1, value2,...] | List 型に保存できるデータ型に制限はなく、リスト内の要素が同じ型である必要はありません。 |
Map |
{ 'name' : value } | Map 型に保存できるデータ型に制限はなく、マップ内の要素が同じ型である必要はありません。 |
Null |
NULL | 大文字と小文字は区別されません。 |
Number |
1, 1.0, 1e0 | 数値は、正、負、または 0 とすることができます。数値は最大 38 桁の精度を持つことができます。 |
Number Set |
<<number1, number2>> | 数値セット内の要素は、Number 型でなければなりません。 |
String Set |
<<'string1', 'string2'>> | 文字列セット内の要素は、String 型でなければなりません。 |
String |
'string value' | String 型 の値を指定するには、一重引用符を使用する必要があります。 |
例
次のデータ型を挿入する方法を、次のステートメントで示します。String
、Number
、Map
、List
、Number Set
および String Set
。
INSERT INTO TypesTable value {'primarykey':'1',
'NumberType':1,
'MapType' : {'entryname1': 'value', 'entryname2': 4},
'ListType': [1,'stringval'],
'NumberSetType':<<1,34,32,4.5>>,
'StringSetType':<<'stringval','stringval2'>>
}
次のステートメントでは、Map
、List
、Number Set
および String
Set
の型に、新しい要素を挿入する方法を示しています。また、Number
型の値を変更する方法も示しています。
UPDATE TypesTable
SET NumberType=NumberType + 100
SET MapType.NewMapEntry=[2020, 'stringvalue', 2.4]
SET ListType = LIST_APPEND(ListType, [4, <<'string1', 'string2'>>])
SET NumberSetType= SET_ADD(NumberSetType, <<345, 48.4>>)
SET StringSetType = SET_ADD(StringSetType, <<'stringsetvalue1', 'stringsetvalue2'>>)
WHERE primarykey='1'
次のステートメントでは、Map
、List
、Number Set
および String
Set
の型から要素を削除する方法を示しています。また、Number
型の値を変更する方法も示しています。
UPDATE TypesTable
SET NumberType=NumberType - 1
REMOVE ListType[1]
REMOVE MapType.NewMapEntry
SET NumberSetType = SET_DELETE( NumberSetType, <<345>>)
SET StringSetType = SET_DELETE( StringSetType, <<'stringsetvalue1'>>)
WHERE primarykey='1'
詳細については、「DynamoDB のデータ型」を参照してください。