Benutzer mit den meisten Antworten
SQL Abfrage - Ergebniss einer Kalenderwoche

Frage
-
Hallo Zusammen,
ich habe eine Datenbank wie sie in der Abbildung dargestellt ist.
Ich möchte diese Informationen gern auf Kalenderwochenbasis auswerten. Dieses möchte ich gern auf Kalenderwochenbasis machen.
Ich weiß nicht, wie ich die Abfrage gestallten muss damit ich nur die Daten einer beliebigen Kalenderwoche bekomme.
ID Zeitstempel Schichthuebe Gesamtzeit Produktionszeit Stillstandszeit GesamtzeitString Anlage ProduktionszeitString StillstandszeitString
3278067 2017-12-13 14:00:00.000 2509 28767000 13324000 15588000 07:59:27 132455 03:42:04 04:19:48
3278066 2017-12-13 14:00:00.000 3153 28769000 12654000 16178000 07:59:29 132505 03:30:54 04:29:38
3278065 2017-12-13 14:00:00.000 7077 28770000 14793000 14120000 07:59:30 132507 04:06:33 03:55:20
3278064 2017-12-13 14:00:00.000 0 28772000 0 28772000 07:59:32 132404 00:00:00 07:59:32LG
Antworten
-
Hallo,
Mit der DATEPART Funktion und dem Parameter "week" bzw. "iso_week" kannst Du zu einem Datum die Kalenderwoche ermitteln und darauf filtern, z.B. für letzte Woche.
SELECT * FROM Tabelle WHERE YEAR(Zeitstempel) = 2017 AND DATEPART(ISO_WEEK, Zeitstempel) = 51
Olaf Helper
[ Blog] [ Xing] [ MVP]- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Administrator Dienstag, 2. Januar 2018 06:31
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Mittwoch, 10. Januar 2018 13:32
Alle Antworten
-
Hallo,
Mit der DATEPART Funktion und dem Parameter "week" bzw. "iso_week" kannst Du zu einem Datum die Kalenderwoche ermitteln und darauf filtern, z.B. für letzte Woche.
SELECT * FROM Tabelle WHERE YEAR(Zeitstempel) = 2017 AND DATEPART(ISO_WEEK, Zeitstempel) = 51
Olaf Helper
[ Blog] [ Xing] [ MVP]- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Administrator Dienstag, 2. Januar 2018 06:31
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Mittwoch, 10. Januar 2018 13:32
-
Hey Hallo,
hatte die Funktion Datepart ebenfalls schon mal gesehen aber scheinbar nicht richtig logisch verknüpft. Ich werde es erstmal ausprobieren, vielen Dank für die Hilfe.
Gr
Klappt super, genau das.
Danke!
- Bearbeitet SQL Abfrage - Ergebnisse einer Kalenderwoche Mittwoch, 27. Dezember 2017 13:59
-
Leider ist das nur die halbe Wahrheit:
Iso-Week liefert nur einen Wert zwischen 1 und 53, das Jahr dazu fehlt aber, da Woche 1 sowohl das aktuelle als auch bereits das Folgejahr und Woche 53 das aktuelle als auch das vorherige Jahr sein kann.Gruppiert man also seine Daten auf z.B. Woche 1, vermischt man u.U. die 2. Januarwoche mit der letzten Dezemberwoche. Man kann also nur den Komplettbegriff JJJJKW als Sortierkriterium verwenden:
case datapart(iso_week, MyDate)
when 1
case month(MyDate)
when 1
then year(Mydate) * 100 + datapart(iso_week, MyDate)
else (year(Mydate) +1 ) * 100 + datapart(iso_week, MyDate)
endwhen 53
case month(MyDate)
when 12
then year(Mydate) * 100 + datapart(iso_week, MyDate)
else (year(Mydate) - 1 ) * 100 + datapart(iso_week, MyDate)
endelse year(Mydate) * 100 + datapart(iso_week, MyDate)
end