

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

# UNIX\_TIMESTAMP
<a name="sql-reference-unix-timestamp"></a>

将 SQL 时间戳转换为 Unix 时间戳，后者使用自“1970-01-01 00:00:00”UTC 以来的毫秒数表示，并采用 BIGINT 格式。

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

```
UNIX_TIMESTAMP(timeStampExpr)
```

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

*时间StampExpr*

一个 SQL TIMESTAMP 值。

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

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

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

**注意**  
已修改示例数据集以包含时间戳值 (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     TIMESTAMP,    --The timestamp value to convert
price           REAL)
```

### 示例 1：将时间戳转换为 UNIX 时间戳
<a name="w2aac22c17c19c43b9b4"></a>

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

```
CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (
        ticker_symbol VARCHAR(4), 
        SECTOR VARCHAR(16), 
        CHANGE REAL,
        CHANGE_TIME BIGINT, 
        PRICE REAL);

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

SELECT STREAM   TICKER_SYMBOL,
                SECTOR,
                CHANGE,
                UNIX_TIMESTAMP(CHANGE_TIME),
                PRICE
FROM "SOURCE_SQL_STREAM_001"
```

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

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


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

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