Are you trying to populate a table with a range of values, or just trying to get the rate if you are given a value? In the latter case, you can do the following:DECLARE @no INT;
SET @no = 13;
SELECT TOP (1)
no,rate
FROM
tbl_rate
WHERE
no <= @no
ORDER BY
no
If you are trying to populate a table with a range of values, you can apply a similar logic, except you would need a table of numbers.