具有日期范围的Sql查询

具有日期范围的Sql查询,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我正在尝试使用下面的sql查询从表中获取记录 SELECT Code,Description FROM Table WHERE ID= 1 AND FromDate >= '2010-02-14' AND ToDate <= '2012-03-14' 请给我一个合适的解决方案。谢谢你的时间 试试这个: declare @dayAfter datetime --let take 1 day after set @dayAfter = DateAdd(day,1,'20120

我正在尝试使用下面的sql查询从表中获取记录

SELECT Code,Description FROM Table
WHERE ID= 1 AND FromDate >= '2010-02-14' AND ToDate <= '2012-03-14'
请给我一个合适的解决方案。谢谢你的时间

试试这个:

declare @dayAfter datetime     --let take 1 day after

set @dayAfter = DateAdd(day,1,'20120314')

SELECT Code,Description FROM Table
WHERE ID= 1 AND 
FromDate >= '20100214' AND 
ToDate <  DateAdd(day, DateDiff(day, 0, @dayAfter ), 0)
declare@dayAfter-datetime——让我们在
set@dayAfter=DateAdd(第1天,'20120314')
从表中选择代码、说明
其中ID=1和
FromDate>=“20100214”和
ToDate
p、 s:

DateAdd(day,DateDiff(day,0,@dayAfter),0)
将时间重置为
00:00


因此,如果选择FromDate和ToDate之间的数据,则需要
所需的EndTime<次日开始

,然后删除ID=1。
在这种情况下,选择的是ID=1的记录,并且FromDate和ToDate选中了此条目。

尝试以下查询,它肯定会解决您的问题

SELECT Code,Description FROM Table
   WHERE ID= 1 AND
         CONVERT(VARCHAR(10), FromDate, 101)>= CONVERT(VARCHAR(10),CAST('2010-02-14' AS DATETIME),101) AND 
         CONVERT(VARCHAR(10), ToDate, 101)<= CONVERT(VARCHAR(10),CAST('2012-03-14' AS DATETIME),101) ;
从表中选择代码、说明
其中ID=1和
CONVERT(VARCHAR(10),FromDate,101)>=CONVERT(VARCHAR(10),CAST('2010-02-14'作为日期时间),101)和

CONVERT(VARCHAR(10),ToDate,101)您正在从ragne选择数据

FromDate >= '2010-02-14 00:00:0000' AND ToDate <= '2012-03-14 00:00:0000'
FromDate>='2010-02-14 00:00:0000'和ToDate='2010-02-14'和ToDate<'2012-03-15'

您可以发布您的表格设计吗?您可以向我们展示
ID=1
的记录的
FromDate
ToDate
吗?@RoyiNamir-
YYYY-MM-DD
对于
日期是安全的,但是对于
日期时间是不安全的。看看。@RoyiNamir-你误读了(就像我几乎误读的那样)。它说的是我的SQL Server愿望列表,而不是我的SQL Server愿望列表。@RoyiNamir-T
T
才是安全的。删除
T
,它将失败。非常感谢。。我已经修好了:)@SyedIbrahim不客气。请同时阅读我与马克和米凯尔之间的对话。有一些要点需要注意。(并且[也为我]学习)
FromDate >= '2010-02-14 00:00:0000' AND ToDate <= '2012-03-14 00:00:0000'
FromDate >= '2010-02-14' AND ToDate < '2012-03-15'
SELECT *
 FROM  table
 WHERE year_date BETWEEN FromDate AND ToDate