这是我的表数据

Id  Begin  End
1   0      1
2   1      3
3   3      4


这是我的查询:

DECLARE @abc Float=1.5;
SELECT * FROM dbo.Slab  AS s WHERE @abc BETWEEN s.Begin  AND s.End


这给了我2行。我想查找@abc参数大于Begin但小于或等于End的行。例如,如果@ abc = 1我想选择1,如果@ abc = 1.5我想选择2,如果@ abc = 3我想选择2,如果@ abc = 0.1我想选择1,依此类推。

最佳答案

DECLARE @abc Float=1.5;
SELECT * FROM dbo.slab  AS s WHERE @abc > s.[begin] and @abc<=s.[end]

关于sql - 您如何在运算符之间使用范围?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41631662/

10-14 18:52