Reputation: 5114
Hi I want to select values from tables by passing two parameters like start and end ranges
How can i get it?
Ex:
sid sname
s001 name1
s002 name2
s003 name3
s004 name4
s005 name5
s006 name6
s007 name7
s008 name8
s009 name9
s0010 name10
here i want to pass two values like 3 and 5 so that my query will return results like
s003 name3
s004 name4
s005 name5
Thank you
Upvotes: 1
Views: 877
Reputation: 755451
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.
Upvotes: 1