J'essaie de ajouter l'heure personnalisée à la date et l'heure dans SQL Server 2008 R2 .
Voici ce que j'ai essayé.
SELECT DATEADD(hh, 03, DATEADD(mi, 30, DATEADD(ss, 00, DATEDIFF(dd, 0,GETDATE())))) as Customtime
En utilisant la requête ci-dessus, je suis capable d'y parvenir.
Mais existe-t-il déjà une méthode abrégée permettant d'ajouter du temps personnalisé à datetime?
Merci d'avance.
Essaye ça
SELECT DATEADD(day, DATEDIFF(day, 0, GETDATE()), '03:30:00')
Pour moi, ce code est plus explicite:
CAST(@SomeDate AS datetime) + CAST(@SomeTime AS datetime)
Essaye ça:
SELECT DATEDIFF(dd, 0,GETDATE()) + CONVERT(DATETIME,'03:30:00.000')
Ou essayez une autre méthode en utilisant le type de données Time:
DECLARE @MyTime TIME = '03:30:00', @MyDay DATETIME = CAST(GETDATE() AS DATE)
SELECT @MyDay+@MyTime
Essaye ça
SELECT DATEADD(MINUTE,HOW_MANY_MINUTES,TO_WHICH_TIME)
Ici MINUTE
est constant, ce qui indique qu’ils vont ajouter/soustraire des minutes du spécificateur TO_WHICH_TIME
. HOW_MANY_MINUTES
correspond à l'intervalle pendant lequel nous devons ajouter des minutes. S'il est spécifié négatif, le temps sera soustrait, sinon serait ajouté au spécificateur TO_WHICH_TIME
et TO_WHICH_TIME
correspond à l'heure à laquelle vous ajoutez MINUTE
.
J'espère que cela t'aides.
Tu peux faire:
SELECT GETDATE()+'03:30:00'
Ce qui suit est simple et fonctionne sur SQL Server 2008 (SP3) et les versions ultérieures:
PRINT @@VERSION
PRINT GETDATE()
PRINT GETDATE() + '01:00:00'
PRINT CONVERT(datetime,FLOOR(CONVERT(float,GETDATE()))) + '01:00:00'
Avec sortie:
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