日期和时间函数 - AWS Clean Rooms

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

日期和时间函数

AWS Clean Rooms 支持以下日期和时间函数:

日期和时间函数摘要

下表概述了 AWS Clean Rooms 中使用的日期和时间函数。

函数 语法 返回值
+(串联)运算符

将日期连接到 + 符号任一侧的时间,并返回 TIMESTAMP 或 TIMESTAMPTZ。

date + time TIMESTAMP 或者 TIMESTAMPZ
ADD_MONTHS

将指定的月数添加到日期或时间戳。

ADD_MONTHS ({date|timestamp}, integer) TIMESTAMP
CURRENT_DATE 函数

返回当前事务开始时的当前会话时区(预设情况下为 UTC)中的日期。

CURRENT_DATE DATE
DATEADD

按指定的时间间隔递增日期或时间。

DATEADD (datepart, interval, {date|time|timetz|timestamp}) TIMESTAMPTIMETIMETZ
DATEDIFF

返回给定日期部分(如一天或月)的两个日期或时间之间的差值。

DATEDIFF (datepart, {date|time|timetz|timestamp}, {date|time|timetz|timestamp}) BIGINT
DATE_PART

从日期或时间中提取日期部分值。

DATE_PART (datepart, {date|timestamp}) DOUBLE
DATE_TRUNC

基于日期部分截断时间戳。

DATE_TRUNC ('datepart', timestamp) TIMESTAMP
EXTRACT

从 timestamp、timestamptz、time 或 timetz 中提取日期或时间部分。

EXTRACT (datepart FROM source) INTEGER or DOUBLE
GETDATE 函数

返回当前会话时区(预设情况下为 UTC)中的当前日期和时间。括号为必填项。

GETDATE() TIMESTAMP
SYSDATE

返回当前事务开始的日期和时间 (UTC)。

SYSDATE TIMESTAMP
TIMEOFDAY

以字符串值形式返回当前会话时区(预设情况下为 UTC)中的当前工作日、日期和时间。

TIMEOFDAY() VARCHAR
TO_TIMESTAMP

返回指定时间戳和时区格式的一个带有时区的时间戳。

TO_TIMESTAMP ('timestamp', 'format') TIMESTAMPTZ
注意

在经过时间计算中不考虑闰秒。

事务中的日期和时间函数

当您在事务块(BEGIN … END)中运行以下函数时,该函数将返回当前事务的开始日期或时间,而不是当前语句的开始时间。

  • SYSDATE

  • TIMESTAMP

  • CURRENT_DATE

以下函数始终返回当前语句的开始日期或时间,即使它们在事务数据块中也是如此。

  • GETDATE

  • TIMEOFDAY

+(串联)运算符

连接数值文本、字符串文本和/或日期时间和时间间隔文本。它们位于 + 符号的两侧,并根据 + 符号两侧的输入返回不同的类型。

语法

numeric + string
date + time
date + timetz

参数的顺序可以反转。

参数

数值文本

表示数字的文本或常量可以是整数或浮点。

字符串文本

字符串、字符字符串或字符常量

date

DATE 列或隐式转换为 DATE 的表达式。

time

TIME 列或隐式转换为 TIME 的表达式。

timetz

TIMETZ 列或隐式转换为 TIMETZ 的表达式。

示例

下面的示例表 TIME_TEST 具有一个列 TIME_VAL(类型 TIME),其中插入了三个值。

select date '2000-01-02' + time_val as ts from time_test;