Sql 值介于2列范围之间
我有一个简单的表,名为lovalue,hivalue。 我想传递一个数字,然后让表扣除要返回的名称 例如: Name, Low, High Black, 0, 10 Grey, 11, 20 White, 21, 30Sql 值介于2列范围之间,sql,sql-server,Sql,Sql Server,我有一个简单的表,名为lovalue,hivalue。 我想传递一个数字,然后让表扣除要返回的名称 例如: Name, Low, High Black, 0, 10 Grey, 11, 20 White, 21, 30 如果传递了数字11,则查询返回黑色。 如果数字22被传递,则查询返回白色。尝试以下操作: DECLARE @VALUE INT SET @VALUE = 11 SELECT Name FROM <TABLE> WHERE @VALUE >
如果传递了数字11,则查询返回黑色。 如果数字22被传递,则查询返回白色。尝试以下操作:
DECLARE @VALUE INT
SET @VALUE = 11
SELECT
Name
FROM <TABLE>
WHERE @VALUE >= (Low + 1) AND @VALUE <= (High + 1)
DECLARE @Parameter INT = 15
SELECT NAME
FROM TABLE
WHERE LOW <= @Parameter
AND HIGH >= @Parameter
如果是打字错误,请使用以下命令:
DECLARE @VALUE INT
SET @VALUE = 11
SELECT
Name
FROM <TABLE>
WHERE @VALUE >= Low AND @VALUE <= High
试试这个:
DECLARE @VALUE INT
SET @VALUE = 11
SELECT
Name
FROM <TABLE>
WHERE @VALUE >= (Low + 1) AND @VALUE <= (High + 1)
DECLARE @Parameter INT = 15
SELECT NAME
FROM TABLE
WHERE LOW <= @Parameter
AND HIGH >= @Parameter
假设你的问题中有一个输入错误,当你说…如果数字11被传递,查询返回黑色。。。你可以这样做
SELECT name
FROM Table1
WHERE 11 BETWEEN low AND high
输出:
| NAME |
--------
| Grey |
这里是演示如果20通过了怎么办?我猜11->黑色是一个输入错误?如果数字11通过了,查询返回黑色。这是一个输入错误还是有一些隐藏的逻辑?它将返回值11的灰色,但OP需要black@user2430812有帮助吗?你的问题需要更多的帮助吗?