PostgreSQL:如何查询当月的最后一天?

Posted

技术标签:

【中文标题】PostgreSQL:如何查询当月的最后一天?【英文标题】:PostgreSQL: How to query for the last day of the current month? 【发布时间】:2014-07-21 08:31:24 【问题描述】:

我想以数字格式返回当前月份的最后一天。我将如何在 Postgres 中编写 SQL 查询来实现这一点?

【问题讨论】:

【参考方案1】:
SELECT
  TO_CHAR(
    DATE_TRUNC('month', CURRENT_DATE)  -- first day of current month
      + INTERVAL '1 month'             -- first day of next month
      - INTERVAL '1 day',              -- last day of current month
    'DD'                               -- format last day of month
  ) last_day_of_month

【讨论】:

或者如果你想要一个整数值只是extract(day from ...)而不是to_char “1 个月 - 1 天”也可以【参考方案2】:

使用一个

LEFT OUTER JOIN sales_registrations FROM months

(而不是您的右连接)。这样,您将从 sales_registrations 中获取没有连接的记录,并且所有这些字段都将具有 NULL 值。

如果您不想在结果中看到 NULLS, 使用 SUMCASE

SUM(CASE WHEN some_field_from_sales_registrations IS NOT NULL THEN 1 ELSE 0 END) as c

【讨论】:

以上是关于PostgreSQL:如何查询当月的最后一天?的主要内容,如果未能解决你的问题,请参考以下文章

在 SQL 中获取当月的最后一天

PHP DATE 如何取得当月的第一天和最后一天

EXCEL问题,怎么用函数或公式取得当月最后一天

java中如何获取某个日期是当月的最后一天

PHP计算上一个月最后一天当月最后一天下一个月最后一天

获取当月的第一天和最后一天示例