在 PostgreSQL 中解析上个月的最后一天
确定上个月的最后一天是数据库查询中的常见需求。在 PostgreSQL 中,有一些有效的方法可以检索指定日期范围内的记录。
一种简单的方法是使用 date_trunc() 函数。对于日期列,请使用:
SELECT * FROM tbl WHERE my_date BETWEEN date_trunc('month', now())::date - 1 AND now()::date
通过从 date_trunc('month', now()) 表达式中减去 1 并将其转换为日期,您可以有效地获得上个月的第一天 (例如,2011 年 12 月 1 日)。将 1 添加到 now()::date 包括范围内今天的所有日期。
对于时间戳列,需要稍微不同的方法:
SELECT * FROM tbl WHERE my_timestamp >= date_trunc('month', now()) - interval '1 day' AND my_timestamp < date_trunc('day', now()) + interval '1 day'
在这种情况下,间隔“1 天”用于确保上个月的最后一天(例如 2011 年 12 月 31 日)完全包含在该范围内。上限的间隔“1 天”表达式确保“今天”也包含在内。
使用这些方法,您可以准确确定上个月的最后一天并检索属于所需日期范围内的记录在 PostgreSQL 中。
以上是如何在 PostgreSQL 中高效查找上个月的最后一天?的详细内容。更多信息请关注PHP中文网其他相关文章!