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é!

Était-ce utile?

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))
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top