Ich habe eine Spalte in meinem SQL Server 2005 Tabelle, die die Anzahl der Monate, die ein Mitarbeiter in Betrieb war halten sollte.Wie bekomme ich die Anzahl an Monaten zwischen zwei Daten in SQL Server 2005
Da ich auch das Datum habe, an dem der Mitarbeiter beschäftigt war, möchte ich, dass die Spalte "monates_In_Service" eine berechnete Spalte ist.
Jetzt, wenn ich DATEDIFF(month,[DateEngaged],GETDATE())
als Formel für die Monate im Dienst berechnete Spalte verwenden, sind die Ergebnisse einige Male korrekt und andere Male falsch.
Was wäre der zuverlässigere Weg, um die Anzahl der Monate zwischen dem DateEngaged-Wert und dem aktuellen Datum zu erhalten? Welche Formel sollte ich in meiner berechneten Spalte verwenden?
Könnten Sie einige Beispiele dafür geben, was Sie meinen, wenn Sie sagen, dass sie manchmal richtig sind und manchmal Das sind sie nicht. –
Könnten Sie das bitte neu schreiben (editieren) und sql-server-2005 (oder auch nur sql-server) einstellen? Beachten Sie die Bindestriche. Es gibt Benutzer, die SQL Server-Fragen ignorieren (nicht ihre Fachkenntnisse), aber an SQL-Fragen interessiert sind. –
DateEngaged = '12/20/2009 " CurrentDate = '1/13/2010" Das gibt mir Monate im Dienst als 1 mit formular "datediff (Monat, [Datumseingabe], getdate() + (1))" Es gibt auch Jahre im Dienst als 1 mit Formel "datediff (Jahr, [DateEngaged], Getdate() + (1))" – StackTrace