I have the following piece of code in C# that I use to select some rows from a SQL Server table based on a date criteria.
DateTime From, DateTime To
SqlParameter[] oParam = new SqlParameter[3];
oParam[0] = new SqlParameter("@From", From.Date);
oParam[1] = new SqlParameter("@To", To.Date);
DataTable dt = clsDatabaseHistory.ExecuteReader("SELECT * FROM tblHistory WHERE Date_Requested BETWEEN @From and @To", oParam);
If for example From=18/08/2011
and To=18/08/2011
and there is data in the table tblHistory
that has the Date_Requested
value as 18/08/2011
the query does not return it.
But if I change the value of To
from 18/08/2011
to To=19/08/2011
the query returns me all the values from the table that have a Date_Requested
value of 18/08/2011
, but none from the 19/08/2011
.
How can something like that be possible and what query should I use to return rows where the date field is between date1 and date2.
Something like :
select * rows where datevalue >= date1 and datevalue <= date2
Thank you.