本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
日期和时间函数
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}) | TIMESTAMP 、TIME 或 TIMETZ |
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;