加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 07:47:52 所属栏目:MsSql教程 来源:网络整理
导读:请考虑以下表模式: ----------------------------------| ID | MinValue | MaxValue |----------------------------------| 1 | 0 | 10 || 2 | 11 | 20 || 3 | 21 | 30 | 我希望能够传递一个整数,并让它返回适当的ID,其中该值与Min和Max Value之间的范围匹配
请考虑以下表模式:
----------------------------------
|  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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读