在不同月份的两个日期之间获取数据 [英] Fetch data between two dates of different months
问题描述
您好,
我正在使用SQL代码查找日期之间的生日,当fromdate是03-01-2016并且todate 03-31-2016即 in时,查询工作正常仅一个月。但是当我输入fromdate = 03/15/2016 todate = 04/15/2016然后它提供了错误的输出因为有两个月包括...
请帮助。 .. !!!
我尝试过:
< pre lang =SQL> SELECT registration_no,名称,类别,状态,dob
来自 rpd
WHERE Datepart(day,dob) datepart(day, @ from_date )
和 Datepart(day, @ to_date )
和
Datepart(月,dob) datepart(月, @ from_date )
和 Datepart(月, @to_date )
试试以下查询:
声明 @ from_date datetime ;
声明 @ to_date datetime ;
set @ to_date = ' 03/31/2016';
set @ from_date = ' 03/01/2016';
选择 registration_no,名称,类别,状态,dob
来自 rpd
其中 Datepart(月,dob) datepart(月, @ from_date )
和 Datepart(月, @ to_date )
和(
(Datepart(day,dob)> = datepart(day, @from_date )和 datepart(month,dob)= Datepart(月, @ from_date ))
OR
(Datepart(day,dob)< = datepart(day, @ to_date )和 datepart(month,dob)= Datepart(月, @ to_date ))
或
(Datepa rt(月,dob)> datepart(月, @ from_date )和 datepart(month,dob)< Datepart(月, @ to_date ))
)
Hello,
I'm using a SQL code to find Birthdays between dates, the query works perfectly when fromdate is 03-01-2016 and todate 03-31-2016 i.e. in one month only. But when I enter fromdate = 03/15/2016 todate = 04/15/2016 then it gives incorrect output as there are two months included...
Please Help...!!!
What I have tried:
SELECT registration_no,name,category,status,dob
From rpd
WHERE Datepart(day,dob) between datepart(day, @from_date)
and Datepart(day,@to_date)
and
Datepart(month,dob) between datepart(month, @from_date)
and Datepart(month,@to_date)
Try with below query:
declare @from_date datetime; declare @to_date datetime; set @to_date = '03/31/2016'; set @from_date = '03/01/2016'; select registration_no, name, category, status, dob From rpd where Datepart(month,dob) between datepart(month, @from_date) and Datepart(month,@to_date) and ( (Datepart(day,dob) >= datepart(day, @from_date) and datepart(month, dob) = Datepart(month, @from_date)) OR (Datepart(day,dob) <= datepart(day, @to_date) and datepart(month, dob) = Datepart(month, @to_date)) OR (Datepart(month,dob) > datepart(month, @from_date) and datepart(month, dob) < Datepart(month, @to_date)) )
这篇关于在不同月份的两个日期之间获取数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!