Solved

SQL Time Table

Posted on 2014-09-28
7
188 Views
Last Modified: 2014-09-28
I have a time table. I am trying to show every record in 15 minute intervals.

SELECT TimeID, CAST(Minute AS smallint) as IntMin, CAST(Second AS smallint) as IntSec, StandardTime from dim_Time

Open in new window

0
Comment
Question by:RecipeDan
  • 3
  • 3
7 Comments
 
LVL 24

Expert Comment

by:Phillip Burton
ID: 40348828
And what's the Problem?
0
 
LVL 1

Author Comment

by:RecipeDan
ID: 40348865
I have data that looks like this:

TimeID	Time	Hour	MilitaryHour	Minute	Second	AmPm	StandardTime
1	00:00:00	00	00	00	00	AM	12:00:00 AM
2	00:00:01	00	00	00	01	AM	12:00:01 AM
3	00:00:02	00	00	00	02	AM	12:00:02 AM
4	00:00:03	00	00	00	03	AM	12:00:03 AM
5	00:00:04	00	00	00	04	AM	12:00:04 AM

Open in new window


I want to show all records with 15 minute intervals. So the data looks like this:

12:00
12:15
12:30
12:45
1:00
1:15 etc..
0
 
LVL 48

Expert Comment

by:PortletPaul
ID: 40349112
use the Minute field

below I have used [n] but you would use [minute]

with cte as (
          select 0 as n union all
          select 14 union all
          select 15 union all
          select 24 union all
          select 30 union all
          select 44 union all
          select 45
          )
select
*
from CTE
where n % 15 = 0


|  N |
|----|
|  0 |
| 15 |
| 30 |
| 45 |
0
What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

 
LVL 1

Author Comment

by:RecipeDan
ID: 40349171
That works but is not what I am looking for. I have a time table that lists all the times in a day from 12:00 am to 11:59 pm. What I want is a list of times that end in 15 minute intervals.

12:00
12;15
12:30
12:45
1:00
1:15
1:30
1:45 etc..
0
 
LVL 48

Accepted Solution

by:
PortletPaul earned 500 total points
ID: 40349189
This is how I though you might use the % 15:

select [time] from dim_time where [minute] % 15 = 0;

select [StandardTime]  from dim_time where [minute] % 15 = 0;
0
 
LVL 1

Author Comment

by:RecipeDan
ID: 40349240
You are correct. I misunderstood you. Thank you for your assistance. For reference here is the code, I decided to use military time.

SELECT MilitaryHour + ':' + CASE WHEN vartime = '0' THEN '00' ELSE vartime END AS vartime
FROM
(
select distinct MilitaryHour, CAST(inttime as varchar) as vartime
from
(
select cast(minute as smallint) as inttime, MilitaryHour from dim_time
)
t1
where inttime % 15 = 0
)
t2
order by vartime

Open in new window

0
 
LVL 48

Expert Comment

by:PortletPaul
ID: 40349244
I see.

thanks.

As this is a dimension table, does this imply there is substantial volume when you perform queries?

If this is true, and you have indexes on the string field called [minute]

Then you might be better off simply using an IN() like this:

SELECT
      MilitaryHour
FROM dim_time
WHERE [minute] IN ('00', '15', '30', '45')


sorry for the change of mind.
(Most dim tables I've used have used integers extensively, I had this in my mind. )
0

Featured Post

NAS Cloud Backup Strategies

This article explains backup scenarios when using network storage. We review the so-called “3-2-1 strategy” and summarize the methods you can use to send NAS data to the cloud

Question has a verified solution.

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

Nowadays, some of developer are too much worried about data. Who is using data, who is updating it etc. etc. Because, data is more costlier in term of money and information. So security of data is focusing concern in days. Lets' understand the Au…
Let's review the features of new SQL Server 2012 (Denali CTP3). It listed as below: PERCENT_RANK(): PERCENT_RANK() function will returns the percentage value of rank of the values among its group. PERCENT_RANK() function value always in be…
Familiarize people with the process of utilizing SQL Server functions from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Ac…
Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…

830 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