Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

how to find Date by a given hour in relative to current date time

Posted on 2011-03-22
6
Medium Priority
?
241 Views
Last Modified: 2012-06-27
Hi Experts

this is a little bit complicated to me:

i get a hour (for example 22:00)
i should find the last date of this  hour
and the next date of this hour
and of course i have the getdate() to use it.

so actually i need 2 dates: previous date and next date

10x a lot
0
Comment
Question by:gudidi
  • 3
  • 2
6 Comments
 
LVL 18

Expert Comment

by:deighton
ID: 35190712
please give an example, it is not clear what you want to do.
0
 

Author Comment

by:gudidi
ID: 35190780
ok

i have from database the hour 22:00.

i need to calculate the datetime of last time that the hour was 22:00
and date time of next occurance of 22:00 hour.

for example:

if the time now is 18:00
the last  datetime of 22:00 was 21/03/2011
na dnext time is 22/03/2011
0
 
LVL 2

Accepted Solution

by:
CoolBurn28 earned 2000 total points
ID: 35190955
hehehe nice
this would do the trick
select getdate() sysdate,DATEADD(hh, 22, getdate()) nxt_22,DATEADD(hh, -22, getdate()) prev_22

Open in new window

0
Technology Partners: 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!

 

Author Comment

by:gudidi
ID: 35190997
10x so much
0
 
LVL 18

Expert Comment

by:deighton
ID: 35191109
DECLARE @HOUR as integer;
SET @HOUR = 20;
DECLARE @YEST as datetime;
DECLARE @TODAY as datetime;
DECLARE @TOMORROW as datetime;
DECLARE @BASE as datetime;
SET @BASE = CAST(FLOOR(CAST(getdate() AS FLOAT)) as datetime);
SET @YEST = dateadd(hour, @HOUR, dateadd(day,-1,@BASE));
SET @TODAY = dateadd(day, 1, @yest);
SET @TOMORROW=dateadd(day, 2, @yest);

SELECT CASE WHEN @TODAY <= getdate() THEN  @TODAY ELSE @YEST END AS LASTTIME,
	   CASE WHEN @TODAY >= getdate() THEN  @TODAY ELSE @TOMORROW END AS NEXTTIME

Open in new window

0
 
LVL 18

Expert Comment

by:deighton
ID: 35191133
the code you accepted gives the time 22 hours ago and 22 hours into the future, but it doesn't give you the time it was last 22 hours and the time it is next 22 hours

but if that is what you wanted so-be-it
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

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

I have a large data set and a SSIS package. How can I load this file in multi threading?
Microsoft Access has a limit of 255 columns in a single table; SQL Server allows tables with over 255 columns, but reading that data is not necessarily simple.  The final solution for this task involved creating a custom text parser and then reading…
Via a live example, show how to backup a database, simulate a failure backup the tail of the database transaction log and perform the restore.
Viewers will learn how to use the UPDATE and DELETE statements to change or remove existing data from their tables. Make a table: Update a specific column given a specific row using the UPDATE statement: Remove a set of values using the DELETE s…
Suggested Courses

564 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