【发布时间】:2018-01-08 09:30:52
【问题描述】:
考虑到星期日是一周的第一天,以下 redshift 中的语句应返回 2 作为周数,而不是返回 1。
Mysql 有一个名为Week() 的函数,我们可以在其中使用该模式来获得所需的结果。同样,redshift 中是否有任何函数可以用来获取正确的周数。
任何帮助将不胜感激。
SELECT EXTRACT(WEEK FROM TIMESTAMP '2018-01-07');
SELECT TO_CHAR(TIMESTAMP '2018-01-07','WW');
【问题讨论】:
-
它在 PostgreSQL 上返回相同的结果,因此它应该在 Redshift 上以相同的方式工作。那是因为这两个星期都是从星期一开始的。尝试查询“2017-01-01”,这是一个星期天,你会得到 52。
-
@Yankee,你是说红移上的一周从星期一开始吗?我以为它是从周日开始的,有没有办法改变这个
-
@JorgeMadrigal 是的,因为它在 Postgres 中是一样的。这是我发现在 Postgres 中改变的一些东西,应该也可以在 Redshift 中工作blog.0101010.com/making-date-trunc-use-a-sunday-week
标签: sql amazon-redshift