sql – 检查Integer是否在一系列列值之间

前端之家收集整理的这篇文章主要介绍了sql – 检查Integer是否在一系列列值之间前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
请考虑以下表模式:
----------------------------------
|  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

但它不起作用,没有任何返回.

我确信这个解决方案很简单,但我很难过.

sql Server中实现此目的的最佳方法是什么?

解决方法

试试这个
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
原文链接:https://www.f2er.com/mssql/76444.html

猜你在找的MsSQL相关文章