Solved

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

Posted on 2011-03-22
6
226 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 500 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
Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

 

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

6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

Join & Write a Comment

Suggested Solutions

SQL Server engine let you use a Windows account or a SQL Server account to connect to a SQL Server instance. This can be configured immediatly during the SQL Server installation or after in the Server Authentication section in the Server properties …
In this article I will describe the Copy Database Wizard method as one possible migration process and I will add the extra tasks needed for an upgrade when and where is applied so it will cover all.
Via a live example combined with referencing Books Online, show some of the information that can be extracted from the Catalog Views in SQL Server.
Via a live example, show how to shrink a transaction log file down to a reasonable size.

747 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

9 Experts available now in Live!

Get 1:1 Help Now