【发布时间】:2016-05-28 01:55:59
【问题描述】:
我正在尝试创建一个查询,该查询可以在表中获取一些记录,该表介于从开始到截止日期之间,日期仅为月/年。我遇到的问题是尝试在起始日期和结束日期为同一月/年时获取记录。
这是我遇到的问题的一个示例:
select start_date
from job
where trunc(start_date) between to_date('05-2016','mm-yyyy') and to_date('05-2016','mm-yyyy')
在作业表中,有 start_date 在 5 月份的记录,但为了查看它们,我需要将截止日期设置为“06-2016”。有没有办法通过指定开始日期和结束日期是 05-2016 来获取 5 月份的所有 start_date 记录?
【问题讨论】:
-
您使用的是哪个 DBMS?
-
您没有指定日期是有原因的吗?
between to_date('05-01-2016', 'mm-dd-yyyy') and to_date('05-31-2016', 'mm-dd-yyyy')是因为您不知道如何计算月份的最后一天,还是因为该日期仅提供给您月份和年份? -
请注明Oracle Sql,最好是你使用的版本(即10g)
-
您的代码应该可以工作。一个问题是
start_date上的时区问题。换句话说,您的问题没有足够的信息来回答。 -
我认为这是对 between 函数中的日期的误解。在这种情况下,它们都是 5/1。这只会选择 5/1 的 start_dates
标签: sql