我有一個表單,用戶在其中提取報表。 在表單中,他們可以選擇開始日期和結束日期,或者通過兩個值的空值。如果他們選擇null,則返回所有記錄EFFECTIVEDATE < GETDATE()CASE語句似乎那裏 並不像之間,也沒有像「<」運營商在SQL CASE中使用BETWEEN where子句
這裏是我的腳本
SELECT * FROM tbReport
WHERE
EffectiveDate
CASE
WHEN (@StartDate IS NOT NULL AND @EndDate IS NOT NULL)
THEN BETWEEN (@StartDate AND @EndDate)
ELSE
THEN < GETDATE()
END
感謝這個答案對我最有意義,並考慮到所有條件。 – MeltdownZA 2011-03-24 09:26:13
它可以工作,但是對於需要什麼而言它並不複雜?從可維護性的角度來看,這不是我的第一選擇。 – SecretDeveloper 2011-03-24 11:05:38