Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 674375
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 14, 20262026-05-14T00:41:59+00:00 2026-05-14T00:41:59+00:00

Imagine a table that has two fields, a smalltimedate and an int and about

  • 0

Imagine a table that has two fields, a smalltimedate and an int and about 1000 rows of data. What I’m attempting to do in query is to find the average of the INT field for rows between 3/3/2010 – 3/13/2010 and only if the entry is between 6:00am – 11:00pm.

I tried

between '2010-03-03 06:00 AND 2010-03-13 23:00'

However that only restricts that very beginning and end times. I could do this with a loop but I’m going to need to have the same query run over much larger date ranges and this will quickly eat server resources. Is there a way to query date and time separately?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-14T00:41:59+00:00Added an answer on May 14, 2026 at 12:41 am
    Select ...
    From Table
    Where DateCol >= '20100303'
        And DateCol < '20100314'
        And DatePart(hh,DateCol) Between 18 And 23
    

    Note that I use strictly less than in the comparison to 20100314 so it returns anything before 2010-03-14 midnight.

    EDIT Realized you said PM and not AM.

    ADDITION In SQL, the statement “Foo Between DateA And DateB” is translated into “Foo >= DateA and Foo <= DateB”. Notice the second part of that statement is less than or equal to to DateB. In our query, we want to include everything on 2010-03-13 all the way through midnight. I achieve that by restricting my search to values strictly less than the day after I want to search.

    With respect to the hour, DatePart(hh, DateVal) will return the hour of the day using the 24 hour clock. So 6 PM is really 18:00 hours. If we want between 6 PM and 11 PM we really want between 18:00 and 23:00.

    ADDITION It occurs to me that there is a small problem in my original solution. The system will return values whose time is anywhere during the 11 o’clock hour (e.g. 11:01 PM, 11:30 PM, 11:50 PM etc.). Here is another solution that would solve that:

    Select ...
    From Table
    Where DateCol >= '20100303'
        And DateCol < '20100314'
        And DateAdd(day, -DateDiff(Day, 0, [DateCol]), [DateCol]) Between '18:00' And '23:00'
    

    Basically, I’m using the DateDiff and DateAdd functions to strip off the Date portion of the value and then compare against the values we want.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.