SQL评级为给定整数
我想从这个表中得到评级: 评级区间开始区间结束 -- ------- ------ 5 0 1 4 1 2 3 2 3 2 3 12 1 12 24 例如: 如果我通过1,输出应该是5 如果我通过1.5,输出应该是4 到目前为止,我已经尝试: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
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要求相同的结果。