在 SQL redshift 中返回特定周的第一个日期(星期日)

Posted

技术标签:

【中文标题】在 SQL redshift 中返回特定周的第一个日期(星期日)【英文标题】:Return first date (Sunday) of a particular week in SQL redshift 【发布时间】:2020-10-24 13:57:41 【问题描述】:

我正在尝试设置一个 WHERE 过滤器,其中仅返回日期在上周星期日(包括上周星期日)之后的结果。我目前拥有的是:

date_part(w,GETDATE())

这给了我当前的周数。我怎么知道找到本周第一个日期 (43) 所以是 10 月 18 日?

【问题讨论】:

【参考方案1】:

嗯。 . .这会返回从星期一开始的几周,这是非常标准的:

date_trunc('week', current_date)

如果您希望星期天开始一周,那么:

date_trunc('week', current_date + interval '1 day') - interval '1 day'

注意:如果今天是星期日,则返回今天的日期。如果在这种情况下您想要上周日的日期,只需使用:

date_trunc('week', current_date) - interval '1 day'

【讨论】:

以上是关于在 SQL redshift 中返回特定周的第一个日期(星期日)的主要内容,如果未能解决你的问题,请参考以下文章

亚马逊 - Redshift:给定日期的周数错误

Bigquery 自定义一周的第一天(默认为星期一)

在 SQL Server 中获取一周的第一天

如何从 SQL 中的列值中提取特定部分(Redshift 平台)

如何从SQL中的列值中提取特定部分(Redshift平台)

Redshift - 超过百分位的第一个值