小编use*_*840的帖子

WHERE子句返回不正确的记录

我正在使用它

DECLARE @Year_Filter_Start AS DATETIME
SET @Year_Filter_Start = DATEADD( dd, -1, DATEADD( yy, DATEDIFF( yy, 0, GetDate() ), 0 ) )
DECLARE @Year_Filter_End AS DATETIME
SET @Year_Filter_End = GetDate()

INSERT INTO TABLE
  ( blah )
SELECT blah
  FROM OTHER_TABLE
 WHERE ACTISSUEDATE IS NULL 
    OR ACTSTARTDATE BETWEEN @Year_Filter_Start AND @Year_Filter_End
Run Code Online (Sandbox Code Playgroud)

并且它返回ACTISSUEDATE不为空且ACTSTARTDATE不在年份开始和今天之间的记录.@Year_Filter_Start应该是今年的开始,@ Year_Filter_End应该是今天.

例如:

ACTSTARTDATE是2010-08-02和ACTISSUEDATE的记录是2011-03-15

或者ACTSTARTDATE是2009-05-18,ACTISSUEDATE是2009-09-06

这个陈述有什么问题吗?

sql t-sql sql-server datetime sql-server-2005

5
推荐指数
1
解决办法
338
查看次数

标签 统计

datetime ×1

sql ×1

sql-server ×1

sql-server-2005 ×1

t-sql ×1