Dies wäre in der "Wo" -Klausel ... Wie finde ich Viertel basierend auf einem Gehaltsabrechnungszyklus? Unser Gehaltsabrechnungszyklus beginnt am 25. des Quartalsmonats und endet am 10. des Quartalsmonats. Zum Beispiel ... Das 2. Quartal beginnt am 25.04.2016 und endet am 07.10.2016.Monatssätze basierend auf dem Abrechnungszyklus finden
1
A
Antwort
0
Ok es ist irgendwie schwer zu verstehen, was Sie tun, aber hier ist etwas, das funktionieren sollte. Sie können die Daten bearbeiten, um zu passen, was Sie wollen, aber ich habe es basierend gemacht, was Sie angegeben haben.
--This is just test data... you can use your own table
IF OBJECT_ID('tempdb..#payroll') IS NOT NULL DROP TABLE #payroll
CREATE TABLE #payroll (dates date)
INSERT INTO #payroll (dates) VALUES
('1/1/2016'),
('1/16/2016'),
('2/4/2016'),
('3/3/2016'),
('3/19/2016'),
('4/18/2016'),
('5/6/2016'),
('6/4/2016'),
('6/29/2016'),
('7/4/2016'),
('7/31/2016'),
('8/9/2016'),
('9/1/2016'),
('10/3/2016'),
('10/19/0216'),
('11/4/2016'),
('11/21/2016'),
('12/2/2016'),
('1/1/2016'),
('1/8/2017'),
('1/21/2017')
--variable for what ever quarter you want to limit on. 1-4
declare @Quarter int
set @Quarter = 4
--Year that you are focused on. If left to NULL it uses the current year
declare @Year int
set @Year = NULL
IF @Year IS NULL
BEGIN
SET @Year = Year(GETDATE())
END
--Date parameters that we will use to filter
declare @startDate date = null
declare @endDate date = null
--logic to set your quarters
set @startDate = case
when @Quarter = 1 then '1/25/' + CAST(@Year as varchar(4))
when @Quarter = 2 then '4/25/' + CAST(@Year as varchar(4))
when @Quarter = 3 then '7/25/' + CAST(@Year as varchar(4))
when @Quarter = 4 then '9/25/' + CAST(@Year as varchar(4))
end
set @endDate = case
when @Quarter = 1 then '4/10/' + CAST(@Year as varchar(4))
when @Quarter = 2 then '7/10/' + CAST(@Year as varchar(4))
when @Quarter = 3 then '9/10/' + CAST(@Year as varchar(4))
when @Quarter = 4 then '1/10/' + CAST((@Year + 1)as varchar(4))
end
--run it to test results
select *
from #payroll
where dates between @startDate and @endDate
Verwandte Themen
- 1. Finden Sie die Pyramidenreihe basierend auf dem Index?
- 2. Finden Sie ein HAL-Objekt basierend auf dem/dev-Knotenpfad
- 3. Den Django-Quellcode basierend auf dem Import finden
- 4. Benutzer finden E-Mail basierend auf dem aktuellen IPrincipal
- 5. jQuery-Selektor: Tabellenzelle basierend auf dem Inhalt finden
- 6. Basierend auf dem regulären Ausdruck
- 7. Summierungshäufigkeit basierend auf dem Zeitstempelintervall
- 8. Filtersäule basierend auf dem Datumsbereich
- 9. Filterergebnis basierend auf dem Spaltenwert
- 10. Finden Sie HTML basierend auf Teilattribut
- 11. Wert basierend auf denselben Zeilenwerten finden
- 12. WPF Einstellung basierend auf dem Datentyp?
- 13. Apache HTTP Proxy basierend auf dem Hostnamen
- 14. Finden Sie Indizes auf zwei Listen basierend auf Artikel Bedingung
- 15. Text invertiert basierend auf dem Hintergrundbild
- 16. Definiere Konstante basierend auf dem Gerätetyp
- 17. Berechne das Alter basierend auf dem Geburtsdatum
- 18. Aktualisierende Textmenge basierend auf dem Eingabebereich
- 19. SQL zieht Daten basierend auf dem Datum
- 20. Webseite Spracherkennung basierend auf dem Inhalt
- 21. JSF externe Datei basierend auf dem Gebietsschema
- 22. Abrufen Subarray basierend auf dem Teilunter Wert
- 23. Aktualisieren Eintrag basierend auf dem vorherigen Wert
- 24. MVP Update-Ansicht basierend auf dem Status
- 25. Automatische Webseiten-Dateneingabe basierend auf dem Seiteninhalt
- 26. Tabellen mit basierend auf dem Maximalwert
- 27. Autojump-Sprung basierend auf dem übergeordneten Verzeichnis
- 28. Swift Tabellenansicht Zeilenfarbe basierend auf dem Untertitel
- 29. Filterarray basierend auf dem nächsten Objekt
- 30. berechnen neuer Wert basierend auf dem Wert
können Sie die Start- und Enddaten für alle Quartale für 1 Jahr – scsimon
1. Quartal Start gie ist 1/25/16 Ende ist 4/10/16; 2. Viertel Start ist 4/25/16 Ende ist 7/10/16; 3. Viertel Start ist 7/25/16 Ende ist 9/10/16; 4. Quartal Start ist 9/25/16 Ende ist 1/10/17 – Benjo
Danke. Und nur um zu verdeutlichen, dass Sie versuchen zu sehen, in welches Quartal ein bestimmtes Abrechnungsdatum fällt, richtig? – scsimon