要求:通過日期後選擇,之前,之間或全部,如果空SQL日期選擇爲NULL,之後,之前,之間
我使用的是SQL Server 2008中
這是我的嘗試,但我對於在案例之外有效使用的代碼,會出現語法錯誤。
- 有沒有更好的方法?
用例什麼是正確的語法?
declare @StartDate datetime; declare @EndDate datetime; SET @EndDate = GETDATE(); SET @StartDate = DATEADD(year, -2, GETDATE()); select * from ArCustomer where CAST(Customer as int) > 1000 AND CASE WHEN @StartDate IS NOT NULL AND @EndDate IS NOT NULL THEN ArCustomer.DateLastSale BETWEEN @StartDate AND @EndDate WHEN @StartDate IS NULL AND @EndDate IS NOT NULL THEN ArCustomer.DateLastSale < @EndDate WHEN @StartDate IS NOT NULL AND @EndDate IS NULL THEN ArCustomer.DateLastSale > @StartDate END;
謝謝,看起來像那樣(選項1),比我的嘗試更優雅。 – GBrookman