当前位置: 首页 > 面试题库 >

如何在postgres中获得月份的最后一天?

池庆
2023-03-14
问题内容

如何在postgres中找到月份的最后一天?我有一个以(YYYYMMDD)格式存储为numeric(18)的日期列,我正在尝试使用以下方式使它成为日期

to_date("act_dt",'YYYYMMDD') AS "act date"

然后找到该日期的最后一天:

(select (date_trunc('MONTH',to_date("act_dt",'YYYYMMDD')) + INTERVAL '1 MONTH - 1 day')::date)

但这给了我这个错误:

ERROR: Interval values with month or year parts are not supported
  Detail: 
  -----------------------------------------------
  error:  Interval values with month or year parts are not supported
  code:      8001
  context:   interval months: "1"
  query:     673376
  location:  cg_constmanager.cpp:145
  process:   padbmaster [pid=20937]
  -----------------------------------------------

有什么帮助吗?

Postgres版本:

PostgreSQL 8.0.2 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.4.2 20041017 (Red Hat 3.4.2-6.fc3), Redshift 1.0.874


问题答案:

只需使用last_day函数:

select last_day(to_date(act_date,'YYYYMMDD'))

PS:现在,我相信您知道为您自己的问题选择正确的标签非常重要!



 类似资料:
  • 问题内容: 如何在Java中找出最后一个月及其年份 例如,如果今天是2012年10月10日,则结果应为Month = 9和year = 2012;如果今天是2013年1月10日,则结果应为Month = 12和year = 2012 问题答案: 您的解决方案在这里,但您需要使用减法来代替加法 然后,您可以在上调用getter以获取适当的字段

  • 问题内容: 我正在尝试获取给定月份的第一个星期一。 我想出的最好方法是在前7天循环浏览,然后在返回时返回。有一个更好的方法吗? 问题答案: 通过查看时间的.Weekday(),您可以计算第一个星期一。

  • 问题内容: 我需要获取SQL中指定日期的月份的最后一天。如果我有每月的第一天,则可以执行以下操作: 但是,有谁知道如何将其推广,以便我可以找到任何给定日期的月的最后一天? 问题答案: 在SQL Server 2012中,可以使用EOMONTH函数。 返回包含指定日期的月份的最后一天,并带有可选的偏移量。 句法 如何找到某个给定日期的月的最后一天?

  • 问题内容: 我的输入字符串日期如下: 我得到的月份如下: 但是,如何获取给定String日期中月份的最后一个日历日? 例如:对于字符串,输出必须为。 问题答案: Java 8及更高版本。 通过使用where 是的实例。 Java 7及更低版本。 通过使用以下方法:

  • 问题内容: 我正在寻找获取上个月第一天和最后一天的最佳方法。我使用它们进行SQL查询以获取上个月的统计信息。 我认为这是最好的方法,更优化但又不那么全面,有人有另一种方法可以做到这一点吗? 谢谢!! 问题答案: 在PHP 5.3中,您可以使用类:

  • 如何以moment.js中的以下格式获取当月的第一天和最后一天和时间: 2016-09-01 00:00