如果日期之间的当前月份,如何选择行

时间:2014-01-16 08:47:48

标签: sql

我有一个包含两个字段FromDateToDate的表,其中包含大量数据。 我想要的是获取行如果当前月份来自这些日期和时间。

例如: (1)FromDate = 20/Dec/2013 & ToDate = 15/Feb/2014,因此如果选择Current Month (Jan 2014)则会显示。

(2)如果FromDate = 05/Jan/2014 & ToDate = 10/Jan/2014,如果选择当前月份,也会出现此情况。

任何人都可以给我一个返回这样结果的查询吗?

编辑:我想查看一个月,而不是日期。例如:获取2014年1月的所有行如果fromdate和todate之间的日期位于。

2 个答案:

答案 0 :(得分:2)

declare @selectedmonth datetime = current_timestamp

select * from yourtable
where FromDate < dateadd(m, datediff(m, 0, @selectedmonth), 1)
and  ToDate > dateadd(m, datediff(m, 0, @selectedmonth), 0)

答案 1 :(得分:1)

您可以尝试这样的事情:

select sysdate as currentDate from dual;

    Select * from [table name] 
    where currentDate between fromDate and ToDate;