请考虑以下表模式:
---------------------------------- | ID | MinValue | MaxValue | ---------------------------------- | 1 | 0 | 10 | | 2 | 11 | 20 | | 3 | 21 | 30 |
我希望能够传递一个整数,并让它返回适当的ID,其中该值与Min和Max Value之间的范围匹配.
例如:
Input = 17 Output = 2 Input = 4 Output = 1 Input = 26 Output = 3
我以为我可以这样做:
SELECT ID FROM MyTable WHERE MinValue >= @input AND MaxValue <= @input
但它不起作用,没有任何返回.
我确信这个解决方案很简单,但我很难过.
解决方法
试试这个
SELECT ID FROM MyTable WHERE @input BETWEEN MinValue AND MaxValue
BEETWEEN的描述
sql BETWEEN Condition用于检索SELECT,INSERT,UPDATE或DELETE语句中某个范围内的值.
句法
sql BETWEEN条件的语法是:
表达BETWEEN value1和value2;
参数或参数
表达式是列或计算.
value1和value2创建与表达式进行比较的包含范围.
注意
sql BETWEEN Condition将返回表达式在value1和value2(包括)范围内的记录.
ref:http://www.techonthenet.com/sql/between.php
或者你也可以使用喜欢
MinValue <= @input AND MaxValue >= @input