wie, um die Anzahl an Monaten zwischen zwei Datumsangaben in sql server 2005

Ich habe eine Spalte in meiner sql server 2005-Tabelle zu halten sollte die Anzahl der Monate ein Mitarbeiter im Dienst.

Da ich auch das Datum, der Mitarbeiter beschäftigt war, möchte ich die "months_In_Service" - Spalte eine berechnete Spalte ist.

Nun, wenn ich DATEDIFF(month,[DateEngaged],GETDATE()) wie die Formel für die Monate im Dienst berechnete Spalte, die Ergebnisse sind richtig einige Zeit und andere mal falsch.

Was wäre die bessere zuverlässigen Weg, um die Anzahl der Monate zwischen den DateEngaged Wert und dem aktuellen Datum? Welche Formel soll ich verwenden in meinem berechnete Spalte?

Könnten Sie ein paar Beispiele von dem, was Sie meinen, wenn Sie sagen, dass Sie manchmal richtig und manchmal nicht.
Könntest du bitte neu taggen, dieser (edit) und sql-server-2005 (oder auch nur sql-server)? Beachten Sie die Bindestriche. Es gibt user hier, die ignorieren, SQL-Server Fragen (nicht Ihre know-how), sondern sind daran interessiert, SQL Fragen.
DateEngaged = '12/20/2009" CurrentDate = '1/13/2010" Das gibt mir Monate im Dienst als 1 mit formular "datediff(month,[DateEngaged],getdate()+(1))" Es gibt auch Jahre im Dienst als 1 mit der Formel "datediff(year,[DateEngaged],getdate()+(1))"
Und was für ein Ergebnis erwartest du?

InformationsquelleAutor StackTrace | 2010-01-13

Schreibe einen Kommentar