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!

È stato utile?

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))
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top