postgresql - 如何在 PostgreSQL 中列出从年初到上个月结束的所有记录?

标签 postgresql date

所以我想获取从当年年初到上个月月底的记录,所以不是简单的-30。我已完成以下操作,但问题是它仅包含上个月第一天 (01-07-2015) 的记录。

SELECT start_date,customer_code, "value", quantity
FROM dw_mysql."Vouchers"
WHERE start_date BETWEEN date_trunc('year', now()) AND
    date_trunc('month', NOW()) - INTERVAL '1 months';

最佳答案

试试这个:

SELECT start_date,customer_code, "value", quantity
FROM dw_mysql."Vouchers"
WHERE start_date BETWEEN date_trunc('year', now()) AND
    (date_trunc('MONTH', NOW()) - INTERVAL '1 day')::date

第二个 date_trunc 项采用月份精度的当前时间,即 当前 月份的开始,然后从中减去一天以获得 上个月的最后一天。

关于postgresql - 如何在 PostgreSQL 中列出从年初到上个月结束的所有记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32131172/

相关文章:

postgresql - 缺少完整类名 = org.postgresql.util.PGobject、简单名称 = PGobject 的转换器处理

jquery - JqPlot 1.0 如何创建带有日期轴和图例的折线图

javascript - 如何更改 HTML 标记内模板化字符串的日期格式

java - SQL DATE 与 java.sql.Date 中的时区

Postgresql 简单行级安全性 (RLS)

postgresql - 如何在不重启的情况下重新加载pgpool中的pool_hba.conf?

php - 如何确保使用 PHP 的 Postgres 中的 DELETE SQL 语句成功?

sql - 查询返回 Object(Builder),未定义的属性

python - 如何在python中获取5分钟前的时间

ios - 获取 CFAbsoluteTime 和 NSDate 之间的时间差