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

x
?
Solved

VB.Net - Compare SQL DateField Ignoring Time

Posted on 2014-02-17
5
Medium Priority
?
422 Views
Last Modified: 2014-03-04
Good Day Experts!

I have a bit of an issue that I am trying to work through with regards to a DateTime field in my SQL table.  It contains the time after the date.  

I give the User a Start Date and and End Date to enter on the UI.  I want to retrieve records in the SQL table based on a date field.  So, I am "asking" in the SQL query for the date field to be >= StartDate and <= End Date.  

How do I get the query to look at the date field without respect to the time on the back of the date?

Thanks for helping,
jimbo99999
0
Comment
Question by:Jimbo99999
5 Comments
 
LVL 18

Accepted Solution

by:
ChetOS82 earned 1000 total points
ID: 39865692
CONVERT (DATE, DATE_FIELD)  >= StartDate AND CONVERT(DATE, DATE_FIELD) <= EndDate
0
 
LVL 40
ID: 39865911
And maybe, the first thing to do, if you do not need them, would be not to store the time in the database.

Too many programmers use Date.Now when recording the current date, which always saves the time along the date and ends up in most situations creating problems such as yours.

Date.Today is the expression to use when you do not need the time.
0
 

Author Comment

by:Jimbo99999
ID: 39866339
Hey James:

Unfortunately I am working with data that is already in the tables.  But, I understand your sentiments with not saving the time.

Thanks,
jimbo99999
0
 

Author Comment

by:Jimbo99999
ID: 39866341
Chet:

Thanks for responding. I will try it out in the morning when I get to work.

Thanks,
jimbo99999
0
 
LVL 28

Assisted Solution

by:Ark
Ark earned 1000 total points
ID: 39888175
Why not using query with parameters?
 'Assuming startDate/endDate were entered from UI
startDate = startDate.Date 'get date part only
endDate = endDate.AddDays(1).Date 'get date part for next day
Dim dt As New DataTable
Using da As New SqlDataAdapter("SELECT * FROM YourTable WHERE StartDate>=@StartDate AND EndDate<@EndDate", yourConnectionString)
    da.SelectCommand.Parameters.AddWithValue("@StartDate", startDate)
    da.SelectCommand.Parameters.AddWithValue("@EndDate", endDate)
    da.Fill(dt)
End Using

Open in new window

0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Article by: Kraeven
Introduction Remote Share is a simple remote sharing tool, enabling you to see, add and remove remote or local shares. The application is written in VB.NET targeting the .NET framework 2.0. The source code and the compiled programs have been in…
1.0 - Introduction Converting Visual Basic 6.0 (VB6) to Visual Basic 2008+ (VB.NET). If ever there was a subject full of murkiness and bad decisions, it is this one!   The first problem seems to be that people considering this task of converting…
Integration Management Part 2
Whether it be Exchange Server Crash Issues, Dirty Shutdown Errors or Failed to mount error, Stellar Phoenix Mailbox Exchange Recovery has always got your back. With the help of its easy to understand user interface and 3 simple steps recovery proced…
Suggested Courses

834 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question