Use BETWEEN and cast the varchar to date:
select * from mytable where dtcreated BETWEEN CAST(fromdate AS DATE) and CAST(todate AS DATE)
Edit: This works on SQL Server 2008 and up. Cast to datetime if you are using an earlier version.
buddylee17
Practically a Master Poster
697 posts since Nov 2007
Reputation Points: 232
Solved Threads: 137
You simply need to understand why your query failed.
To compare, you need dates not strings.
debasisdas
Posting Genius
6,872 posts since Feb 2007
Reputation Points: 666
Solved Threads: 434