Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 查找给定数字的查询属于给定表中的任何范围_Mysql_Sql Server_Database - Fatal编程技术网

Mysql 查找给定数字的查询属于给定表中的任何范围

Mysql 查找给定数字的查询属于给定表中的任何范围,mysql,sql-server,database,Mysql,Sql Server,Database,我有一张桌子 Name(String) fromRange(int) toRange(int) abc 15160 15180 bhy 12510 12515 现在当我输入数字为12514时 我的数据库查询应该返回 表示它属于以下范围的值 12510至12515或 它属于以下bhy名称 场景2 如果我输入12530,它应该返回0,表示它不是任何范围的一部分 场景3 如果我进入

我有一张桌子

Name(String)    fromRange(int)      toRange(int)
abc             15160               15180
bhy             12510               12515
现在当我输入数字为12514时

我的数据库查询应该返回 表示它属于以下范围的值 12510至12515或 它属于以下bhy名称

场景2

如果我输入12530,它应该返回0,表示它不是任何范围的一部分

场景3 如果我进入15160。它应该返回以下范围,即15160到15180

我曾想过使用BETWEEN关键字,但没有成功

我正在使用SQL server数据库,有人能帮我进行类似的查询吗

DECLARE @input INT
SELECT @input = 15160

SELECT * 
FROM your_table
WHERE
    input BETWEEN fromRange AND toRange
像这样的

DECLARE @input INT
SELECT @input = 15160

SELECT * 
FROM your_table
WHERE
    input BETWEEN fromRange AND toRange
是否在范围内
如果输入在范围内将为
1
,否则为
0


is_in_range
1
如果输入在范围内,
0
否则

您所说的“它应该返回0”是什么意思?0行或重设这一列中的0?0表示没有结果或任何其他等效语句,我可以使用它..你说“它应该返回0”是什么意思?0行或重新设置这一列,其中包含0?0表示没有结果或任何其他等效语句,我可以使用它。@input将是数字,我无法将其分配给名称请检查是否已更新。据我所知,你只需要简单的查询。我唯一的问题是关于返回0。工作非常完美。我使用了您的_表中的
SELECT*,其中fromRange和toRange之间的15160将是数字输入,我无法将其分配给名称请检查更新。据我所知,你只需要简单的查询。我唯一的问题是关于返回0。工作非常完美。我使用了
SELECT*从您的_表中选择,其中15160介于fromRange和toRange之间