2012-08-03 74 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