我有以下的(我知道是語法不正確的,甚至是軸承的荒謬):CASE WHEN - 我做錯了什麼?
and lp.lease_current_stop_date
case when @lease_expiry_period = 01
then
between dateadd(MONTH, +1,
getdate())
else
between dateadd(MONTH, +2,
getdate())
我只是想知道這將是實現這一目標的最佳方式是什麼?我正在試圖做的是:
*當@lease_expiry_period等於01時,顯示所有租約將從現在開始到期一個月。當@lease_expiry_period等於02則顯示所有租約從現在到期長達兩個月。*
性能注意
值得關注的是我並沒有截斷日期在我的例子爲簡單起見也。由於這是使用月getdate()應該是:
Dateadd(d,0,datediff(d,0,getdate()))
爲了獲得最佳性能。
+1。好一個。我用了一個計算機案例,但沒有發佈,因爲你是整潔的。 – 2011-12-22 04:57:26
很乾淨。幹得不錯! – Codingo 2011-12-22 05:58:30
值得注意的是,爲了簡單起見,我並未在我的示例中截斷日期。因爲這是使用月getdate()應該也有Dateadd(d,0,datediff(d,0,getdate()))以獲得最佳性能 – Codingo 2011-12-22 06:08:55