本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
日期/时间函数
注意
的时间流 LiveAnalytics 不支持负时间值。任何导致负时间的操作都会导致错误。
timestream LiveAnalytics 使用UTC时区表示日期和时间。Timestream 支持以下日期和时间函数。
一般和转换
Timestream for LiveAnalytics 支持以下日期和时间的常规函数和转换函数。
函数 | 输出数据类型 | 描述 |
---|---|---|
当前日期 |
date |
返回当前日期UTC。不使用括号。
结果示例: 注意这也是一个保留关键字。有关保留关键字的列表,请参阅保留关键字。 |
当前时间 |
时间 |
返回当前时间UTC。不使用括号。
结果示例: 注意这也是一个保留关键字。有关保留关键字的列表,请参阅保留关键字。 |
当前时间戳或现在 () |
timestamp |
返回当前的时间戳。UTC
结果示例: 注意这也是一个保留关键字。有关保留关键字的列表,请参阅保留关键字。 |
当前时区 () |
varchar 该值将是 'UTC。' |
Timestream 使用UTC时区作为日期和时间。
结果示例: |
日期(varchar (x))、日期(时间戳) |
date |
结果示例: |
本月的最后一天(时间戳)、当月的最后一天(日期) |
date |
结果示例: |
from_iso8601_timestamp(字符串) |
timestamp |
将 ISO 8601 时间戳解析为内部时间戳格式。
结果示例: |
from_iso8601_date(字符串) |
date |
将 ISO 8601 日期字符串解析为指定日期 UTC 00:00:00 的内部时间戳格式。
结果示例: |
to_iso8601(时间戳)、to_iso8601(日期) |
varchar |
返回一个 ISO 8601 格式的输入字符串。
结果示例: |
from_mliseconds (bigint) |
timestamp |
结果示例: |
from_nanoseconds (bigint) |
timestamp |
结果示例: |
from_unixtime(双精度) |
timestamp |
返回与所提供的 unixtime 相对应的时间戳。
结果示例: |
当地时间 |
时间 |
返回当前时间UTC。不使用括号。
结果示例: 注意这也是一个保留关键字。有关保留关键字的列表,请参阅保留关键字。 |
本地时间戳 |
timestamp |
返回当前的时间戳。UTC不使用括号。
结果示例: 注意这也是一个保留关键字。有关保留关键字的列表,请参阅保留关键字。 |
to_mliseconds(间隔日到秒)、to_mliseconds(时间戳) |
bigint |
结果示例:
结果示例: |
to_nanoseconds(间隔日到秒)、to_nanoseconds(时间戳) |
bigint |
结果示例:
结果示例: |
to_unixtime(时间戳) |
double |
返回所提供时间戳的 unixtime。
结果示例: |
date_trunc(单位,时间戳) |
timestamp |
返回截断为单位的时间戳,其中单位为 [秒、分钟、小时、日、周、月、季或年] 之一。
结果示例: |
间隔和持续时间
Timestream for LiveAnalytics 支持以下日期和时间间隔和持续时间函数。
函数 | 输出数据类型 | 描述 |
---|---|---|
date_add(单位、大整数、日期)、date_add(单位、大整数、时间)、date_add(varchar (x)、bigint、timestamp) |
timestamp |
添加一个 bigint 单位,其中单位是 [秒、分钟、小时、日、周、月、季度或年] 之一。
结果示例: |
date_diff(单位、日期、日期)、date_diff(单位、时间、时间、时间)、date_diff(单位、时间戳、时间戳) |
bigint |
返回差值,其中单位为 [秒、分钟、小时、日、周、月、季度或年] 之一。
结果示例: |
解析持续时间(字符串) |
interval |
解析输入字符串以返回
结果示例:
结果示例: |
bin(时间戳、间隔) |
timestamp |
将 这个返回值的含义可能并不明显。它是使用整数算术计算的,首先是将时间戳整数除以间隔整数,然后将结果乘以间隔整数。 请记住,时间戳将时间UTC点指定为自POSIX纪元(1970年1月1日)以来经过的几分之一秒,因此返回值很少与日历单位一致。例如,如果您将 30 天的时间间隔指定为 30 天,则将自纪元以来的所有天数划分为 30 天增量,并返回最近 30 天增量的起始日期,这与日历月无关。 下面是一些示例:
|
之前(间隔) |
timestamp |
返回与当前时间戳对应的值。
结果示例: |
间隔文字,例如 1h、1d 和 30m |
interval |
间隔字面值便于 parse_duration(字符串)。例如, |
一些间隔文字充当 parse_duration 的简写。例如,parse_duration('1day')
、1day
parse_duration('1d')
、,1d
每个都返回类型1
00:00:00.000000000
所在的位置interval day to second
。允许以提供给的格式留出空间parse_duration
。例如,parse_duration('1day')
还会返回00:00:00.000000000
。但1 day
不是间隔字面意思。
与之相关的单位interval day to second
是 ns、纳秒、us、微秒、毫秒、s、秒、m、分钟、h、小时、d 和天。
还有interval year to month
。与年与月间隔相关的单位是 y、年和月。例如,SELECT 1year
退货1-0
。 SELECT 12month
还会返回1-0
。 SELECT 8month
返回0-8
。
尽管单位quarter
也可用于某些函数,例如date_trunc
和date_add
,quarter
但不能作为区间文字的一部分使用。
格式化和解析
Timestream for LiveAnalytics 支持以下日期和时间的格式化和解析函数。
函数 | 输出数据类型 | 描述 |
---|---|---|
日期格式(时间戳,变量字符 (x)) |
varchar |
有关此函数使用的格式说明符的更多信息,请参见 # https://trino.io/docs/current/functions/datetime.html mysql-date-functions
结果示例: |
date_parse(varchar (x)、varchar (y)) |
timestamp |
有关此函数使用的格式说明符的更多信息,请参见 # https://trino.io/docs/current/functions/datetime.html mysql-date-functions
结果示例: |
format_datetime(时间戳,varchar (x)) |
varchar |
有关此函数使用的格式字符串的更多信息,请参阅 http://joda-time.sourceforge。 net/apidocs/org/joda/time/format/DateTimeFormat.html
结果示例: |
parse_datetime (varchar (x)、varchar (y)) |
timestamp |
有关此函数使用的格式字符串的更多信息,请参阅 http://joda-time.sourceforge。 net/apidocs/org/joda/time/format/DateTimeFormat.html
结果示例: |
提取
Timestream for LiveAnalytics 支持以下日期和时间提取函数。提取函数是其余便捷函数的基础。
函数 | 输出数据类型 | 描述 |
---|---|---|
extract |
bigint |
从时间戳中提取一个字段,其中字段是 [、、、、_OF_ YEAR QUARTER、_OF_ MONTH WEEK DAY、DAY _OF_、MONTH、DAY _OF_、_OF_ WEEK DOW、、、DAYYEAR、、DOY、YEAR或] 之一。WEEK YOW HOUR MINUTE SECOND
结果示例: |
日(时间戳)、日(日期)、日(日到秒的间隔) |
bigint |
结果示例: |
day_of_month(时间戳)、月日(日期)、day_of_month(日到秒的间隔) |
bigint |
结果示例: |
星期_of_week(时间戳)、星期_of_week(日期) |
bigint |
结果示例: |
年日_年(时间戳)、年日_年(日期) |
bigint |
结果示例: |
向下(时间戳)、向下(日期) |
bigint |
day_of_week 的别名 |
doy(时间戳)、doy(日期) |
bigint |
day_of_year 的别名 |
小时(时间戳)、小时(时间)、小时(日到秒间隔) |
bigint |
结果示例: |
毫秒(时间戳)、毫秒(时间)、毫秒(间隔日到秒) |
bigint |
结果示例: |
分钟(时间戳)、分钟(时间)、分钟(日到秒间隔) |
bigint |
结果示例: |
月(时间戳)、月(日期)、月(年到月的间隔) |
bigint |
结果示例: |
纳秒(时间戳)、纳秒(时间)、纳秒(间隔日到秒) |
bigint |
结果示例: |
季度(时间戳)、季度(日期) |
bigint |
结果示例: |
秒(时间戳)、秒(时间)、秒(间隔日到秒) |
bigint |
结果示例: |
周(时间戳)、周(日期) |
bigint |
结果示例: |
年中的周(时间戳)、年中的周(日期) |
bigint |
本周的别名 |
年(时间戳)、年(日期)、年(年与月的间隔) |
bigint |
结果示例: |
一周中的一年(时间戳)、一周中的一年(日期) |
bigint |
结果示例: |
yow(时间戳),yow(日期) |
bigint |
本周的别名 |