Попробуйте запрос ниже:
declare @tbl table (ColA int, ColB int);
insert into @tbl values
(1099 , 57),
(1209 , 58),
(1213 , 59),
(1227 , 60),
(1228 , 61);
declare @toInterpolate int = 1210;
select min(colB) + (@toInterpolate - min(ColA))*1.0/(max(colA) - min(colA))
from (
select top 2 ROW_NUMBER() OVER (PARTITION BY CASE WHEN ColA > @Value THEN 1 ELSE 0 END ORDER BY ABS(ColA - @Value)) rn,
ColA,
ColB
from @tbl
order by rn
) a
ПРИМЕЧАНИЕ: я предположил, что значения в ColumnB
увеличиваются.