Ich muss eine Speicherprozedur schreiben, die ein Datum am nächsten Freitag an einem bestimmten Datum zurückgibt? zum Beispiel - wenn das Datum 05/12/2011 ist, sollte es am nächsten Freitag als 13/05/2011 zurückgeben. Wenn Sie übergeben, 16.05.2011, dann sollte das Datum ist 5/20/2011 (Freitag) zurückgeben. Wenn Sie Freitag als Datum übergeben, sollte es dasselbe Datum zurückgeben.
Ich würde dies zu einer skalaren UDF machen, da es einfacher ist, die Ausgabe zu konsumieren.
%Vor%Dies ist für SQL Server 2008. Wenn Sie 2005 verwenden möchten, ändern Sie einfach die Datumsfelder in Ihre Einstellungen für die Konvertierung von Datum zu Datum. Es wird außerdem davon ausgegangen, dass Sie den Standardwert für den Beginn der Woche nicht ändern.
%Vor%Tolle Lösungen hier, aber ich empfehle auch, Zeitpläne zu betrachten: Sie können sie leicht in Analysis Server erzeugen, und sie können indiziert werden, um sehr schnell zu sein, was Ihnen viele einfache Möglichkeiten gibt, die nächsten Wochentage zu bekommen (unter anderem ).
Sie können mehr darüber erfahren hier
In unserem Fall wäre die gleiche Lösung
%Vor%Und natürlich, wenn Sie dies für ein großes Recordset tun, können Sie auch Joins für maximale Geschwindigkeit & amp; Effizienz.
Tags und Links sql sql-server-2005 sql-server-2008