Presto(AWS Athena)中 datefromparts 的替代方法是啥

Posted

技术标签:

【中文标题】Presto(AWS Athena)中 datefromparts 的替代方法是啥【英文标题】:What is the alternative of datefromparts in Presto (AWS Athena)Presto(AWS Athena)中 datefromparts 的替代方法是什么 【发布时间】:2020-08-25 23:57:31 【问题描述】:

AWS Athena (Presto DB) 中 datefromparts SQL 函数的最佳性能替代方案是什么?

用例是:

我有日期部分(即日、月和年),需要这些部分的日期。

【问题讨论】:

【参考方案1】:

您通常会使用带有正确格式说明符的parse_date()。如果你的日期是 ISO 格式,你可以直接使用from_iso_date()(或from_iso_timestamp())。

另一方面,如果需要提取日期部分,可以使用extract(),如:

extract(hour from current_timestamp)

请注意,Presto 还提供了与可能的提取部分相对应的全系列短函数名称:year()quarter()month()、...

【讨论】:

非常感谢您的快速响应,我正在寻找相反的功能,我想从它的各个部分获取日期,例如,我有日期、月份和年份,并且需要日期从那以后,我想到的一个选择是将这些部分放入一个字符串中并解析回来,这似乎非常违反直觉。 @Sakher:我认为这是要走的路......我更新了我的答案。 谢谢老兄,真的很感激!

以上是关于Presto(AWS Athena)中 datefromparts 的替代方法是啥的主要内容,如果未能解决你的问题,请参考以下文章

AWS Athena (Presto) DISTINCT SQL 查询中的重复结果?

AWS Athena (Presto) - 如何将时间戳格式化为日期格式?

AWS Athena [Presto] 如何仅接收过去 7 天的数据?

删除 Presto SQL 兼容数据库 (AWS Athena) 中数据中的双引号?

Presto (AWS Athena) 中的拆分和搜索逗号分隔列

AWS DMS:如何处理 Presto/Athena 中的 TIMESTAMP_MICROS parquet 字段