DynamoDB 的 PartiQL 数据类型 - Amazon DynamoDB

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 值。

示例

以下语句演示如何插入以下数据类型:StringNumberMapListNumber SetString 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'>> }

以下语句演示了如何将新元素插入到 MapListNumber SetString 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'

以下语句演示如何从 MapListNumber SetString 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 数据类型