Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

How do I return records from a date range with SQL syntax?

Posted on 2007-12-04
6
Medium Priority
?
552 Views
Last Modified: 2010-05-18
I have an SQL table of records from 2006-2007 and I want to select a range of records based upon start and stop dates entered into text boxes.

I'm using Visual Web Developer; SQL Express; Express Management Studio; VB backcoding

Here's my statement:

SELECT [ID], [BILLNUMBER], [CHARGEDATE], [LNAME], [FNAME] FROM [TABLETracking] WHERE (([CHARGEDATE] IS NOT NULL) AND ([CHARGEDATE] >= @CHARGEDATE) AND ([CHARGEDATE] <= @CHARGEDATE2) AND ([7CAT] = @7CAT))


So, the @CHARGEDATE and @CHARGEDATE2 values are coming from textbox dates that are entered. @7CAT is a value from a user-select dropdown list.

However, a start and stop date such as 01/01/2007 to 12/31/2007 will also return records from the year 2006 (arrrghhhh!...frustrating). How can I make this work? I know there is a BETWEEN statement that can be used, but I am unable to get anything to work..... maybe my parentheses are not structured correctly. Thanks for any assistance.
0
Comment
Question by:jazjef
  • 3
  • 2
6 Comments
 
LVL 3

Expert Comment

by:cforant
ID: 20406280
SELECT column_name FROM table_name
WHERE column_name
BETWEEN value1 AND value2
0
 
LVL 23

Accepted Solution

by:
Ashish Patel earned 2000 total points
ID: 20406447
Try this.
SELECT [ID], [BILLNUMBER], [CHARGEDATE], [LNAME], [FNAME] FROM [TABLETracking] WHERE [CHARGEDATE] IS NOT NULL AND [CHARGEDATE] BETWEEN @CHARGEDATE AND @CHARGEDATE2 AND [7CAT] = @7CAT

0
 
LVL 4

Author Comment

by:jazjef
ID: 20406575
asvforce:

thanks for the reply... your statement works fine, but I still get records from 2006 when I use it.
0
Prepare for your VMware VCP6-DCV exam.

Josh Coen and Jason Langer have prepared the latest edition of VCP study guide. Both authors have been working in the IT field for more than a decade, and both hold VMware certifications. This 163-page guide covers all 10 of the exam blueprint sections.

 
LVL 23

Expert Comment

by:Ashish Patel
ID: 20406617
What is the column type of CHARGEDATE column?
0
 
LVL 4

Author Comment

by:jazjef
ID: 20406853
ASVFORCE:

column type was char(10)

this was causing the problem.... when I converted to datetime your solution works.... and so does my own original solution prior to asking the question.... thanks.

I have another problem though.... I will post a question on it momentarily. It's related to this datetime thing...
0
 
LVL 23

Expert Comment

by:Ashish Patel
ID: 20406865
Good catch!!! Glad to hear that you have solved this now.
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

Question has a verified solution.

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

Occasionally there is a need to clean table columns, especially if you have inherited legacy data. There are obviously many ways to accomplish that, including elaborate UPDATE queries with anywhere from one to numerous REPLACE functions (even within…
This article explains how to reset the password of the sa account on a Microsoft SQL Server.  The steps in this article work in SQL 2005, 2008, 2008 R2, 2012, 2014 and 2016.
In response to a need for security and privacy, and to continue fostering an environment members can turn to for support, solutions, and education, Experts Exchange has created anonymous question capabilities. This new feature is available to our Pr…
Please read the paragraph below before following the instructions in the video — there are important caveats in the paragraph that I did not mention in the video. If your PaperPort 12 or PaperPort 14 is failing to start, or crashing, or hanging, …

927 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