postgresql - 从星期几中提取实际日期

标签 postgresql postgresql-9.4

我知道如何从日期中提取 DOW。例如 SELECT EXTRACT(DOW FROM '2018-04-23'::date)

但是我怎样才能做相反的事情呢?我如何获取一系列 DOW 并将它们转换为给定一周的下一个日期? (相对于本周)。

+-----+---------+
| id  | the_dow |
+-----+----------
| 358 | 1       |
| 359 | 2       |
| 360 | 5       |
| 361 | 2       |
| 362 | 3       |
+-----+---------+

最佳答案

只需将该数字添加到一周的开始:

date_trunc('week', current_date)::date + the_dow

据我所知,date_trunc() 使用 ISO 定义的星期,所以第一天是星期一。使用 isodow 进行提取并从该值中减去 1 会更容易。

关于postgresql - 从星期几中提取实际日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49898548/

相关文章:

sql - Postgres 中的 caracter_varying[] 列上的高性能数组元素查找/重叠

postgresql - Generate_series 用于数字和字母的各种混合

python - 我应该在 django/postgresql 中删除或设置一个变量为 "deleted"吗?

postgresql - 如何在postgresql中禁用外键约束

sql - POSTGRESQL PGADMIN4 中的存储过程错误

postgresql - 生成具有给定值的二维数组

ruby-on-rails - 通过关系在 has_many 上使用关联值来过滤事件管理中的表(Rails 4/事件管理)

ruby-on-rails - Postgres 数据库无法在 Heroku 上运行

sql - Postgres 查询运行很慢

docker - 在 centos/postgresql-94-centos7 Docker Image 上配置 postgresql