differenza SQL Datetime in giorni
-
29-09-2019 - |
Domanda
Sto cercando di trovare quanti giorni sono tra due date. Mi hanno cercato di utilizzare questo:
SET Days_Outstanding = DATEDIFF(day, CONVERT(datetime, LS_CHG_DTE_EQP, 1), CONVERT(datetime, Report_Date, 1))
Tuttavia, questo non è il numero tornando in giorni. E 'il ritorno di un datetime in anni che non hanno nulla a che fare con il mio set di dati.
Non sono sicuro di dove sia il problema, ancora abbastanza nuovo per SQL. Inoltre, ho Days_Outstanding definito come un int, che potrebbe essere il problema? Grazie!
Modifica
Grazie a tutti! Non so cosa sia successo, ho cambiato alcune cose per quello che lei ha suggerito ed è liquidata a lavorare quando sono tornato a quello che avevo in origine. Non so cosa sia successo. Grazie pensato!
Soluzione
ritorna DATEDIFF
intero
Tuttavia, il numero di giorni potrebbe essere sbagliato pianura a seconda dei valori / tipo di dati LS_CHG_DTE_EQP/Report_Date
e locale
Inoltre, DATEDIFF
funziona su non confini giorno periodi di 24 ore. Così 23:56
a 00:02
è di un giorno.
In caso contrario, si prega di aggiungere esempio input e output.
Altri suggerimenti
Esempio
select DATEDIFF(dd,'20100101',getdate())
restituirà 227 oggi
Quindi nel tuo caso assumendo LS_CHG_DTE_EQP e Report_Date sono entrambi colonne datetime
SET @Days_Outstanding = DATEDIFF(day, LS_CHG_DTE_EQP, Report_Date)
Hai provato solo
SET Days_Outstanding = CONVERT(datetime, LS_CHG_DTE_EQP, 1) - CONVERT(datetime, Report_Date, 1))