在不同月份的两个日期之间获取数据 [英] Fetch data between two dates of different months

查看:89
本文介绍了在不同月份的两个日期之间获取数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,

我正在使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆