尽管这个问题听起来很简单,但我一直无法找到直接的解决方案。我正在使用 AWS Athena,据我所知,这是一个 presto 引擎。
我有变量“created_at”,它是一个时间戳。 我怎样才能让
DATE_TRUNC('week', created_at)
在周日而不是周一开始?
我已经看到有关 %V 或 %X 的文档作为可能的解决方案,但不确定在函数中的何处引入它,也就是说,它是否是正确的解决方案。
本质上,我想按周计算销售额,从周日开始,到周六结束,我将按周分组
GROUP BY DATE_TRUNC('week', created_at)
date_format
函数中使用它们:date_format(created_at, '%X%V')
(并使用结果进行分组),但不幸的是,目前 presto 不支持它们。
作为一种解决方法,您可以添加一天:
select week(created_at + interval '1' day)
试试这个:
CAST(DATE_ADD('day', -DATE_DIFF('day', DATE_ADD('day', -1, DATE_TRUNC('WEEK',created_at)),created_at),created_at) AS VARCHAR) AS week_start_sunday