2012-08-03 103 views
1

簡單問題...有沒有辦法在一個語句中將數字與兩個數字進行比較?事情是這樣的:在一個語句中一次比較兩次評估數

where 1000 > 500 > 300 

的原因是,如果我需要評估的500和它的價格昂貴,這將節省大量的時間在替代:

where 1000 > 500 
    and 500 > 300 
+0

我認爲您需要查看上述查詢的查詢計劃以及下面提供的解決方案。實際採取的路徑可能是相同的。 – OraNob 2012-08-03 10:45:35

回答

3

你可以寫

where 500 between 301 and 999 

select a,b,c from (
    select a,b,c, 500 as d from .... 
) where 1000 > d and d > 300 

,但也希望數據庫足夠聰明,以確定它只需要進行一次計算。

+0

呵呵!謝謝! :D – kentcdodds 2012-08-03 02:10:28

-1

如果計算500很昂貴,只需評估一次並存儲它的值。 然後將此值與1000和100進行比較。

+2

我確實相信他在問怎麼做:) – Fluffeh 2012-08-03 01:14:34