SQL查询中的日期范围问题
问题描述:
你好朋友,
我正在用C#和SQL Server开发桌面应用程序.
我的问题是我编写了SQL查询来显示2个日期之间的数据.
我的查询是
Hello Friends,
I am developing an desktop application in c# and sql server.
My problem is i have written sql query for displaying data ranging between 2 dates.
My query is
select tblSalesTransaction.date,tblSalesTransaction.inv from tblSalesTransaction where tblSalesTransaction.date between ''" + dtpFrom.Value + "'' and ''" + dtpTo.Value + "''
如果我从2012年1月2日到2012年5月5日之间进行选择,则数据应从2012年2月1日开始,但是我要从2012年2月2日开始获取数据2012. 请帮助我.............
If i select from date 01/02/2012 and to date 05/02/2012 the data should start from 01/02/2012-05/02/2012 but i am getting data from 02/02/2012-05/02/2012.Please help me .............
答
--If you use SQL 2008, then try the following:
select tblSalesTransaction.date,tblSalesTransaction.inv from tblSalesTransaction where CAST(tblSalesTransaction.date AS Date) between CAST('" + dtpFrom.Value + "' AS DAte) and CAST('" + dtpTo.Value + "', as Date)"
--For older versions, try the following:
select tblSalesTransaction.date,tblSalesTransaction.inv from tblSalesTransaction where dateadd(dd,0, datediff(dd,0, tblSalesTransaction)) between dateadd(dd,0, datediff(dd,0, " + dtpFrom.Value + " )) AND dateadd(dd,0, datediff(dd,0, " + dtpTo.Value + " )) "