Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.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
SQL评级为给定整数_Sql_Sql Server - Fatal编程技术网

SQL评级为给定整数

SQL评级为给定整数,sql,sql-server,Sql,Sql Server,我想从这个表中得到评级: 评级区间开始区间结束 -- ------- ------ 5 0 1 4 1 2 3 2 3 2 3 12 1 12 24 例如: 如果我通过1,输出应该是5 如果我通过1.5,输出应该是4 到目前为止,我已经尝试: select * from table where 1 betw

我想从这个表中得到评级:

评级区间开始区间结束 -- ------- ------ 5 0 1 4 1 2 3 2 3 2 3 12 1 12 24 例如:

如果我通过1,输出应该是5 如果我通过1.5,输出应该是4 到目前为止,我已经尝试:

select * from table where 1 between IntervalStart and IntervalEnd
但如果我通过1,它将返回两条记录。我想要一行。

中间运算符包含在内


其中,a和b之间的x等于a如果要为区间两端指定不同的包容性/排他性,则不能使用BETWEEN-必须单独指定比较:

select * from table where 1 > IntervalStart and 1 <= IntervalEnd
使用此查询:

select Rating from table where IntervalStart <= 1 AND IntervalEnd >= 1;

希望这对您有用。

。如果test_表达式的值大于或等于begin_表达式的值且小于或等于end_表达式的值,则BETWEEN返回TRUE。因此IntervalEnd是包含的,IntervalStart是独占的?这将产生与OP在其表达式中的IntervalStart和IntervalEnd之间的1完全相同的结果问题。@Damien_,不信的人我知道有一些网络问题,因为我发布这个答案太晚了。这将产生与OP要求相同的结果。