If you're using SQL Server, and assuming your columns are both VARCHAR, and your "sid" column is always "s00" + number, then you could do something like this:
declare @value1 int
declare @value2 int
set @value1 = 3
set @value2 = 5
select
sid, sname
from
(your table name)
where
sid between 's00' + CAST(value1 AS VARCHAR(3)) AND
's00' + CAST(value2 as VARCHAR(3))
Marc
UPDATE:
If your rule is that the "SID" columns is always just a single letter "s" (or something else) and then any number of digits (e.g. "s1", "s012", "s292929"), then this query would do the trick:
declare @value1 int
declare @value2 int
set @value1 = 12
set @value2 = 15
select
sid, sname
from
tbl2
where
CAST(SUBSTRING(sid, 2, 999) AS INT) BETWEEN @value1 and @value2
Whatever your pattern and rule is - you can find a query that works - but you need to know what your data looks like and how to query it.