como comentario, te estas complicando demasiado las cosas, no puedes usar parametros definidos para los rangos,por ejemplo si te dan un 2 usar de 0 hasta 2?, es una opinion pero cada quien.......
Código SQL:
Ver originalCREATE TABLE #temp
(
desde INT,
hasta INT
)
INSERT INTO #temp VALUES (0,1)
INSERT INTO #temp VALUES (1,5)
DECLARE @parametro INT
DECLARE @desde INT
DECLARE @hasta INT
SET @parametro=2
SELECT @desde=desde,@hasta=hasta FROM #temp WHERE @parametro BETWEEN desde AND hasta
print @desde
print @hasta
ahora una pregunta, cuando el resultado de la consulta regrese mas de 1 valor cual tomarias? el mas grande? el mas pequeño? por ejemplo con esos datos, ponemos de parametro 1....entonces te regresaria los 2 rangos....