Ich habe ein Problem mit DateDiff (die Anzahl der Monate zwischen zwei Daten)DATEDIFF (Monat)
Wenn ich versuche, dies:
SELECT
(CASE
WHEN X IS NOT NULL THEN
CONVERT(varchar(4), DATEDIFF(YEAR, Y, C)) + ' years '
ELSE
CONVERT(varchar(4), DATEDIFF(YEAR, A, GETDATE())) + ' years '+
CAST(DATEDIFF(mm, DATEADD(yy, DATEDIFF(yy,GETDATE(),b), S), GETDATE()) AS varchar(4)) +' month '+
CAST(DATEDIFF(dd, DATEADD(mm, DATEDIFF(mm, DATEADD(yy, DATEDIFF(yy, c, GETDATE()), e), GETDATE()), DATEADD(yy, DATEDIFF(yy, f, GETDATE()), g)), GETDATE()) AS varchar(2)) +' day' end) as result
FROM g INNER JOIN k ON M=U
WHERE T=XX order by Y;
Ergebnis wie folgt aussehen: 2 Jahre 342 Monate 2 Tage 2 Jahre 3 Monate 2 Tag für die ex:
Aber sein sollte so etwas wie dieses.
Kann mir bitte jemand in die richtige Richtung zeigen. Vielen Dank.
Richtige Antwort:
CONVERT(varchar(4), DATEDIFF(dd, x, GETDATE())/365) + ' år '+
CONVERT(varchar(4), DATEDIFF(MONTH, x, GETDATE()) % 12) + ' måneder '+
CAST(DATEDIFF(dd, DATEADD(mm, DATEDIFF(mm, DATEADD(yy, DATEDIFF(yy, x, GETDATE()), x), GETDATE()),
DATEADD(yy, DATEDIFF(yy, x, GETDATE()), x)), GETDATE()) AS varchar(2)) +' dag ' end) as Y,
Bearbeiten Sie Ihre Frage und liefern Beispieldaten und die gewünschten Ergebnisse. –
Mögliches Duplikat von [Wie DATEDIFF verwendet wird, um Jahr, Monat und Tag zurückzugeben?] (Http://stackoverflow.com/questions/1541570/how-to-use-datediff-to-return-year-month-and-day) – Tanner
@GordonLinoff; Ich habe es bearbeitet, wenn es noch etwas gibt, bitte sagen Sie mir :) – RyaN