私はこれを使用しています
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
ACTISSUEDATE が null ではなく、ACTSTARTDATE が年始と今日の間にないレコードを返しています。@Year_Filter_Start は今年の始まり、@Year_Filter_End は今日のはずです。
例えば:
ACTSTARTDATE が 2010-08-02 で ACTISSUEDATE が 2011-03-15 のレコード
または、ACTSTARTDATE が 2009-05-18 で、ACTISSUEDATE が 2009-09-06 の場合
この発言に何か問題がありますか?