如何在操作员之间使用范围?

时间:2017-01-13 09:48:40

标签: sql tsql

这是我的表数据

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,依此类推。

1 个答案:

答案 0 :(得分:1)

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