DynamoDB 的 PartiQL 数据类型
下表列出可用于 PartiQL for DynamoDB 的数据类型。
DynamoDB 数据类型 | PartiQL 表示 | 注意 |
---|---|---|
Boolean |
TRUE | FALSE | 不区分大小写。 |
Binary |
不适用 | 仅通过代码支持。 |
List |
[ value1, value2,...] | List 类型中可以存储的数据类型没有限制,List 中的元素也不一定为相同类型。 |
Map |
{ 'name' : value } | Map 类型中可以存储的数据类型没有限制,Map 中的元素也不一定为相同类型。 |
Null |
NULL | 不区分大小写。 |
Number |
1, 1.0, 1e0 | 数字可为正数、负数或零。数字最多可精确到 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 数据类型。