différence SQL Datetime en jours
-
29-09-2019 - |
Question
Je suis en train de trouver combien de jours entre deux dates. J'ai essayé d'utiliser ceci:
SET Days_Outstanding = DATEDIFF(day, CONVERT(datetime, LS_CHG_DTE_EQP, 1), CONVERT(datetime, Report_Date, 1))
Cependant, ce ne retourne pas le nombre de jours. Il est de retour d'un datetime dans les années qui ont rien à voir avec mon ensemble de données.
Je ne sais pas où le problème est encore assez nouveau à SQL. En outre, je Days_Outstanding défini comme un entier, pourrait-il être le problème? Merci!
EDIT
Merci tout le monde! Je ne sais pas ce qui est arrivé, je l'ai changé quelques petites choses à ce que vous suggérez et il a côtoyé quand je suis retourné à ce que j'avais à l'origine. Je ne sais pas ce qui est arrivé. Merci pensé!
La solution
revient DATEDIFF
entier
Cependant, le nombre de jours pourrait être mal plat en fonction des valeurs / type de données de LS_CHG_DTE_EQP/Report_Date
et locale
En outre, DATEDIFF
travaille sur les limites de jour, pas de périodes de 24 heures. Donc 23:56
à 00:02
est un jour.
Dans le cas contraire, s'il vous plaît ajouter par exemple les entrées et sorties.
Autres conseils
Exemple
select DATEDIFF(dd,'20100101',getdate())
sera de retour aujourd'hui 227
Dans votre cas, on suppose LS_CHG_DTE_EQP et Report_Date sont les deux colonnes datetime
SET @Days_Outstanding = DATEDIFF(day, LS_CHG_DTE_EQP, Report_Date)
Avez-vous essayé juste
SET Days_Outstanding = CONVERT(datetime, LS_CHG_DTE_EQP, 1) - CONVERT(datetime, Report_Date, 1))