

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 適用於 DynamoDB 的 PartiQL 資料類型
<a name="ql-reference.data-types"></a>

下表列出您可搭配 DynamoDB 專用 PartiQL 使用的資料類型。


| DynamoDB 資料類型 | PartiQL 表示法 | 備註 | 
| --- | --- | --- | 
| Boolean | TRUE \| FALSE | 不區分大小寫。 | 
| Binary | N/A | 僅透過程式碼支援。 | 
| List | [ value1, value2,...] | 清單類型中可存放的資料類型不限，而且清單中的元素不必屬於相同類型。 | 
| Map | { 'name' : value } | 映射類型中可存放的資料類型不限，而且映射中的元素不必屬於相同類型。 | 
| Null | NULL | 不區分大小寫。 | 
| Number | 1、1.0、1e0  | 數字可以是正數、負數或零。數字精確度最高可達 38 位數。 | 
| Number Set | <<number1, number2>> | 數字集中的元素必須是 Number (數字) 類型。 | 
| String Set | <<'string1', 'string2'>> | 字串集中的元素必須是 String (字串) 類型。 | 
| String | 'string value' | 必須使用單引號來指定 String (字串) 值。 | 

## 範例
<a name="ql-reference.data-types"></a>

下述陳述式示範如何插入以下資料類型：`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 資料類型](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes)。