sql - 获取一周中某一天的时间戳

标签 sql postgresql

我正在尝试使用 postgrSQL 查找一周中某一天的时间戳。例如,可能使用 now() 来获取当前时间,但我想获取相同类型的数据返回值,例如最近的星期一或星期日。

我正在寻找这个,因为我有一个查询可以检索从现在到几个月前的数据,我不想包括本周。作为一个例子,它现在做了什么:

creation_date > now() - INTERVAL '2 month'

我认为这可能会实现我的目标:

BETWEEN now() - INTERVAL '4 month' AND now() - INTERVAL '1 week'

但它只是从查询中减去 7 天,这不是我想要的。基本上,我想要:

BETWEEN now() - INTERVAL '4 month' AND ????

问号是最近星期日的时间戳,至少我相信这是可行的。

最佳答案

date_trunc('week', current_date) - 间隔“1”天

date_trunc('week', current_date) 将返回一周开始的日期。

在 Postgres 中,一周的开始总是星期一。这就是为什么您需要从结果中减去另一天以获得星期日。

关于sql - 获取一周中某一天的时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5327528/

相关文章:

postgresql - 创建约束以检查列的值

mysql - 是否可以在 SQL 中参数化运算符?

mysql - SQL:发货/发票地址和 SELECT CONCAT 问题的表设计

mysql - SQL - 你能选择特定字符串以几个字符结尾的所有内容吗?

postgresql - 有没有办法将 PostgreSQL 数据库从 Azure 迁移到 AWS RDS PostgreSQL

sql - 选择可以包含 2 列值的数据列表

sql - 需要一个 sql 查询来按评论数/计数 DESC 查找评论最多的帖子

尝试更改列时出现 SQL 错误

sql - 什么更好 : to have many similar databases or one database with similar tables or one database with one table?

sql - 如何解析存储在 MS SQL 2005 中的 varbinary 中的 excel (.xls) 文件?