2017-05-24 3 views
0

Bitte helfen Sie mir, Datumsunterschied zwischen zwei Daten in SQL Server zu erhalten. Below Abfrage geben FehlerErmitteln des Datumsunterschieds zwischen zwei Daten

DATEDIFF(DD,(convert(date,[Fdate])),(convert(date,[Ldate])))[DDiff] 
+3

Was sagt die Fehlermeldung? – tuomastik

+0

Was ist der Fehler, den Sie bekommen? – Sam

+0

Warum speichern Sie Daten in 'varchar'-Spalten? –

Antwort

3

Da Sie auf SQL Server 2012 sind, verwenden try_convert():

select datediff(day,try_convert(date,[fdate]),try_convert(date,[ldate])) as ddiff 

in SQL Server 2012 und bis: jede dieser null zurückkehren, wenn die Konvertierung fehlschlägt anstelle eines Fehlers.


Das Hauptproblem sein kann, dass Sie Daten als Zeichendatentyp zu speichern. Wenn ja, führen, dass zusätzliche Ausgaben je nach welchem ​​Format das Datum gespeichert ist.

Möglicherweise müssen Sie eine style with try_convert() angeben, oder set dateformat-MDY oder DMY, oder eine bestimmte Kultur verwenden mit try_parse().

Verwandte Themen