it-swarm.com.de

So fügen Sie DateTime in SQL Zeit hinzu

Ich versuche, in SQL Server 2008 R2 benutzerdefinierte Zeit zu datetime hinzuzufügen .

Folgendes habe ich versucht. 

SELECT DATEADD(hh, 03, DATEADD(mi, 30, DATEADD(ss, 00, DATEDIFF(dd, 0,GETDATE())))) as Customtime

Mit der obigen Abfrage kann ich es erreichen. 

Gibt es bereits eine Abkürzungsmethode, um datetime benutzerdefinierte Zeit hinzuzufügen?

Danke im Voraus.

24
Praveen

Versuche dies 

SELECT DATEADD(day, DATEDIFF(day, 0, GETDATE()), '03:30:00')
35

Für mich sieht dieser Code deutlicher aus:

CAST(@SomeDate AS datetime) + CAST(@SomeTime AS datetime)
19
Misha

Versuche dies: 

SELECT  DATEDIFF(dd, 0,GETDATE()) + CONVERT(DATETIME,'03:30:00.000')
14
Andrey Gordeev

Oder probieren Sie eine alternative Methode mit dem Datentyp "Time":

DECLARE @MyTime TIME = '03:30:00', @MyDay DATETIME = CAST(GETDATE() AS DATE)

SELECT @[email protected]
5
Steve D

Versuche dies

SELECT DATEADD(MINUTE,HOW_MANY_MINUTES,TO_WHICH_TIME)

Hier ist MINUTE konstant, was bedeutet, dass er Minuten vom TO_WHICH_TIME-Bezeichner addiert/subtrahiert. HOW_MANY_MINUTES ist das Intervall, in dem wir Minuten hinzufügen müssen. Wenn es als negativ angegeben wird, wird die Zeit abgezogen. Andernfalls wird der TO_WHICH_TIME-Bezeichner hinzugefügt. TO_WHICH_TIME ist die ursprüngliche Zeit, zu der MINUTE hinzugefügt wird.

Hoffe das hilft.

4
Mohan

Du kannst tun:

SELECT GETDATE()+'03:30:00'
1
Neket

Folgendes ist einfach und funktioniert mit SQL Server 2008 (SP3) und höher:

PRINT @@VERSION
PRINT GETDATE()
PRINT GETDATE() + '01:00:00'
PRINT CONVERT(datetime,FLOOR(CONVERT(float,GETDATE()))) + '01:00:00'

Mit Ausgabe:

Microsoft SQL Server 2008 (SP3) - 10.0.5500.0 (X64) 
Mar 15 2017  6:17PM
Mar 15 2017  7:17PM
Mar 15 2017  1:00AM
0