

终止支持通知： Amazon 将于 2025 年 12 月 15 日终止对的支持 Amazon IoT Analytics。2025 年 12 月 15 日之后，您将无法再访问 Amazon IoT Analytics 控制台或 Amazon IoT Analytics 资源。有关更多信息，请参阅[Amazon IoT Analytics 终止支持](https://docs.amazonaws.cn/iotanalytics/latest/userguide/iotanalytics-end-of-support.html)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 中的 SQL 表达式 Amazon IoT Analytics
SQL 表达式

数据集是使用数据存储中数据的 SQL 表达式生成的。 Amazon IoT Analytics 使用与 Amazon Athena 相同的 SQL 查询、函数和运算符。

Amazon IoT Analytics 支持 ANSI 标准 SQL 语法的子集。

```
SELECT [ ALL | DISTINCT ] select_expression [, ...]
[ FROM from_item [, ...] ]
[[ INNER | OUTER ] LEFT | RIGHT | FULL | CROSS JOIN join_item [ ON join_condition ]]
[ WHERE condition ]
[ GROUP BY [ ALL | DISTINCT ] grouping_element [, ...] ]
[ HAVING condition ]
[ UNION [ ALL | DISTINCT ] union_query ]
[ ORDER BY expression [ ASC | DESC ] [ NULLS FIRST | NULLS LAST] [, ...] ]
[ LIMIT [ count | ALL ] ]
```

有关参数的描述，请参阅 *Amazon Athena 文档*中的[参数](https://docs.amazonaws.cn/athena/latest/ug/select.html#select-parameters)部分。

Amazon IoT Analytics 而且 Amazon Athena 不支持以下内容：
+ `WITH` 子句。
+ `CREATE TABLE AS SELECT` 语句
+ `INSERT INTO` 语句
+ 预编译语句，您无法用 `USING` 运行 `EXECUTE`。
+ `CREATE TABLE LIKE`
+ `DESCRIBE INPUT` 和 `DESCRIBE OUTPUT`
+ `EXPLAIN` 语句
+ 用户定义的函数（UDFs 或 UDAFs）
+ 存储过程
+ 联合连接器

**Topics**
+ [

# 中支持的 SQL 功能 Amazon IoT Analytics
](supported-fuctionality.md)
+ [

# 解决 Amazon IoT Analytics中 SQL 查询的常见问题
](troubleshoot-queries.md)

# 中支持的 SQL 功能 Amazon IoT Analytics
支持的 SQL 功能

数据集是使用 SQL 表达式从数据存储中的数据生成的。你运行的查询基 Amazon IoT Analytics 于 [Presto 0.21](https://prestodb.io/docs/current/release/release-0.217.html) 7。

## 支持的数据类型


Amazon IoT Analytics 而且 Amazon Athena 支持这些数据类型。
+ primitive\$1type
  + `TINYINT`
  + `SMALLINT`
  + `INT`
  + `BIGINT`
  + `BOOLEAN`
  + `DOUBLE`
  + `FLOAT`
  + `STRING`
  + `TIMESTAMP`
  + `DECIMAL(precision, scale)`
  + `DATE`
  + `CHAR` (具有指定长度的长度固定的字符数据)
  + `VARCHAR` (具有指定长度的长度可变的字符数据)
+ array\$1type
  + `ARRAY<data_type>`
+ map\$1type
  + `MAP<primitive_type, data_type>`
+ struct\$1type
  + `STRUCT<col_name:data_type[COMMENT col_comment][,...]>`

**注意**  
 Amazon IoT Analytics 而且 Amazon Athena 不支持某些数据类型。

## 支持的函数


[亚马逊 Athena Amazon IoT Analytics 和 SQL 功能基于 Presto 0.217。](https://prestodb.io/docs/current/release/release-0.217.html)有关相关函数、运算符和表达式的信息，请参阅 [函数和运算符](https://prestodb.io/docs/current/functions.html)以及 Presto 文档中的以下具体章节。
+ 逻辑运算符
+ 比较函数和运算符
+ 条件表达式
+ 转换函数
+ 数学函数和运算符
+ 按位函数
+ 十进制函数和运算符
+ 字符串函数和运算符
+ 二进制函数
+ 日期与时间函数和运算符
+ 正则表达式函数
+ JSON 函数和运算符
+ URL 函数
+ 聚合函数
+ 窗口函数
+ 颜色函数
+ 数组函数和运算符
+ 映射函数和运算符
+ Lambda 表达式和函数
+ Teradata 函数

**注意**  
Amazon IoT Analytics 而且 Amazon Athena 不支持用户定义的函数UDFs （ UDAFs或）或存储过程。

# 解决 Amazon IoT Analytics中 SQL 查询的常见问题
常见问题故障排除

使用以下信息可帮助您排查 Amazon IoT Analytics中的 SQL 查询问题。
+ **要转义单引号**，请在其前面加上另一个单引号。不要将这种情况与双引号混淆。  
**Example 示例**  

  ```
  SELECT 'O''Reilly'
  ```
+ **要转义下划线**，可以使用反引号将以下划线开头的数据存储列名称括起来。  
**Example 示例**  

  ```
  SELECT `_myMessageAttribute` FROM myDataStore
  ```
+ **要对含有数字的名称进行转义**，请用双引号将包含数字的数据存储名称括起来。  
**Example 示例**  

  ```
  SELECT * FROM "myDataStore123"
  ```
+ **要对保留关键字进行转义**，请用双引号将保留关键字括起来。如需更多信息，请参阅* SQL SELECT 语句*中[保留关键字的列表](https://docs.amazonaws.cn/athena/latest/ug/reserved-words.html#list-of-reserved-words-sql-select)。