sql - Postgres : SQLQuery : Week start and End date

标签 sql postgresql postgresql-9.4

如何在事件日期已知的情况下找出一周的开始和结束日期。

DATEADD(dd, -(DATEPART(dw, eventDate)-1), eventDate) [WeekStart] 
DATEADD(dd, 7-(DATEPART(dw, eventDate)), eventDate) [WeekEnd]

我试过这种方法,但它给出了错误

ERROR:  function datepart(unknown, timestamp without time zone) does not exist 
LINE 3:     DATEADD('dd', -(DATEPART('dw', eventDate)-1)

你能建议一下 postgres 的查询吗?

最佳答案

在 Postgres 中,只需使用 date_trunc():

select date_trunc('week', eventDate),
       date_trunc('week', eventDate) + interval '1 week'

您的代码是 SQL Server 语法。

关于sql - Postgres : SQLQuery : Week start and End date,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45637021/

相关文章:

sql - 在一列上选择DISTINCT,返回其他多列(SQL Server)

mysql - 正则表达式模式相当于 mysql 中的 %word%

sql - 冲突时删除 postgres

PostgreSQL 9.4 - 在 EXCLUDE 约束中使用自定义运算符

hibernate - 最大连接被奇怪地炸毁,而大量空闲连接

php - 用新外键替换列值的方法?

INSERT 语句中的 java.sql.SQLSyntaxError

postgresql 查找任意时间戳的前后时间戳

ruby-on-rails - Rails 避免 N+1 has_one 关联

postgresql - 如何更新 PostgreSQL 中的 jsonb 列字段?