

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

# TO\_TIMESTAMP
<a name="sql-reference-to-timestamp"></a>

将 Unix 时间戳转换为 “YYYY-MM-DD HH:MM:SS” 格式的 SQL 时间戳。

## 语法
<a name="sql-reference-to-timestamp-syntax"></a>

```
TO_TIMESTAMP(unixEpoch)
```

## 参数
<a name="sql-reference-to-timestamp-parameters"></a>

*unixEpoch*

采用自“1970-01-01 00:00:00”UTC 以来的毫秒数格式的 Unix 时间戳，以 BIGINT 形式表示。

## 示例
<a name="sql-reference-to-timestamp-examples"></a>

### 示例数据集
<a name="w2aac22c17c19c41b9b2"></a>

以下示例基于示例股票数据集，后者是[《Amazon Kinesis Analytics 开发人员指南》](https://docs.amazonaws.cn/kinesisanalytics/latest/dev/get-started-exercise.html) 中的*入门练习*的一部分。

**注意**  
已修改示例数据集以包含 Unix 时间戳值 (CHANGE\_TIME)。

要运行每个示例，您需要一个具有样本股票代码输入流的 Amazon Kinesis Analytics 应用程序。要了解如何创建 Analytics 应用程序和配置示例股票代码输入流，请参阅[《Amazon Kinesis Analytics 开发人员指南》](https://docs.amazonaws.cn/kinesisanalytics/latest/dev/get-started-exercise.html) 中的*入门练习*。

具有以下架构的示例股票数据集。

```
(ticker_symbol  VARCHAR(4),
sector          VARCHAR(16),
change          REAL,
change_time     BIGINT,    --The UNIX timestamp value
price           REAL)
```

### 示例 1：将 Unix 时间戳转换为 SQL 时间戳
<a name="w2aac22c17c19c41b9b4"></a>

在此示例中，源流中的 `change_time` 值将转换为应用程序内流中的 SQL TIMESTAMP 值。

```
CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (
    ticker_symbol VARCHAR(4), 
    sector VARCHAR(64), 
    change REAL, 
    change_time TIMESTAMP, 
    price REAL);

CREATE OR REPLACE PUMP "STREAM_PUMP" AS INSERT INTO "DESTINATION_SQL_STREAM"

SELECT STREAM   TICKER_SYMBOL,
                SECTOR,
                CHANGE,
                TO_TIMESTAMP(CHANGE_TIME), 
                PRICE

FROM "SOURCE_SQL_STREAM_001"
```

上一示例输出的流与以下内容类似。

![该表显示了股票数据，包括时间、股票代码、板块、变动和价格列。](https://docs.amazonaws.cn/kinesisanalytics/latest/sqlref/images/sql-reference-to-timestamp.png)


## 注意
<a name="sql-reference-to-timestamp-notes"></a>

TO\_TIMESTAMP 不是标准的一部分。 SQL:2008 它是 Amazon Kinesis Data Analytics 流式 SQL 扩展。