[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 547
  • Last Modified:

Filter on the date part of a SQL datetime field


I have a VB.NET application which works with a SQL database. In the SQL I have a table which contains 2 datetime values.

In VB I want my application to show all records with a datetime value in a certain filter. The probem is that the filter in VB is a date filter.

My question is how can I check on the date part of a datetime column in SQL. The time can be whatever it is, as long as the date is correct.

My problem:
in Vb the filter is 01/01/01 00:00:00
In SQL the FromDateTimefield is 01/01/01 13:00:00 and the ToDateTimeField is 01/01/01 14:00:00

sqlCmd = New SqlCommand("SELECT * FROM Table WHERE @d BETWEEN FromDateTime AND ToDateTime", objSQLConn)
sqlCmd.Parameters.Add("@d", datDate)
=> @d is not between the fromdatetime and the todatetime because of the 00:00:00 part.

Tnx for the help!
1 Solution
Guy Hengel [angelIII / a3]Billing EngineerCommented:
sqlCmd = New SqlCommand("SELECT * FROM Table WHERE @d between convert( datetime, convert( varchar(10), FromDateTime , 120) , 120) AND dateadd(day, 1, convert ( datetime, convert( varchar(10), ToDateTime, 120), 120)) ", objSQLConn)
Joachim CarreinSr. Software DeveloperCommented:
try adding
sqlCmd.Parameters(2).DbType = DbType.Date
tsayAuthor Commented:
Perfect angelIII, tnx!

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now