Вот, пожалуйста:
Сначала создайте тестовую таблицу:
CREATE TABLE #Temp(ID INT, Val INT)
INSERT INTO #Temp VALUES(1, 100);
INSERT INTO #Temp VALUES(2, 125);
INSERT INTO #Temp VALUES(3, 150);
INSERT INTO #Temp VALUES(4, 175);
INSERT INTO #Temp VALUES(5, 200);
INSERT INTO #Temp VALUES(6, 225);
Установите значение теста
DECLARE @value INT
SET @value = 125
Если идентификатор последовательный (то есть 1, 2, 3, 4, 5 и т. Д.)
SELECT t1.id
FROM #Temp t1, #Temp t2
WHERE t1.ID = t2.ID -1
AND @value BETWEEN t1.Val AND t2.Val -1
Если идентификатор не последовательный (то есть 1, 2, 5, 7, 8 и т. Д.)
;WITH cte AS (SELECT ROW_NUMBER() OVER (ORDER BY id) AS rownum, ID, Val FROM #Temp)
SELECT t1.id
FROM cte t1, cte t2
WHERE t1.rownum = t2.rownum -1
AND @value BETWEEN t1.Val AND t2.Val -1