这是我的表数据
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,依此类推。
答案 0 :(得分:1)
DECLARE @abc Float=1.5;
SELECT * FROM dbo.slab AS s WHERE @abc > s.[begin] and @abc<=s.[end]