Solved

VB.Net - Compare SQL DateField Ignoring Time

Posted on 2014-02-17
5
406 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 250 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 27

Assisted Solution

by:Ark
Ark earned 250 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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

This article explains how to create and use a custom WaterMark textbox class.  The custom WaterMark textbox class allows you to set the WaterMark Background Color and WaterMark text at design time.   IMAGE OF WATERMARKS STEPS Create VB …
It’s quite interesting for me as I worked with Excel using vb.net for some time. Here are some topics which I know want to share with others whom this might help. First of all if you are working with Excel then you need to Download the Following …
This tutorial demonstrates a quick way of adding group price to multiple Magento products.
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

929 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

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now