MSSQL - Between Datum

EuroCent

Klappstuhl 2.0
Hallo zusammen,

Ich hänge gerade an einem Thema dran wo Ich nicht wirklich weiß we Ich das lösen kann :(

Zum Problem:
Wir haben ein Skript welches uns die aktuelle KW ermittelt, immer rückwirkend.
Bedeutet der letzten Woche wäre es KW 02 2021.

Laut DB muss Ich aber KW 03 ermitteln damit Ich die richtige KW bekomme.

Hier mal die Ermittlung aus dem Skript:
PHP:
<?php
/**
* Ermittelt die Aktuelle Kalenderwoche und das Jahr dazu
*
* @author: EuroCent
* @param {int} weekend Wieviele Wochen rückwirkend?
*
* @return {array} Rückgabe Wert als Array
*/
function kwErmittler(int $weekend = 0):array {
    $back2week = ($weekend !== 0) ? "-{$weekend} week" : "";

    $week = date("W", strtotime("{$back2week} Monday last week"));
    $monday = date("Y-m-d 00:00:00.000", strtotime("{$back2week} Monday last week"));
    $sunday = date("Y-m-d 23:59:59.999", strtotime("{$back2week} Sunday last week"));
    $date_1 = date("d.m.Y", strtotime("{$back2week} Monday last week"));
    $date_2 = date("d.m.Y", strtotime("{$back2week} Sunday last week"));
    $curr_month = date('m', time());
    $year = date('Y', time());

    $kwy = array(
        "Monday last week" => $monday,
        "Sunday last week" => $sunday,
        "last_kw" => $week,
        "Current Month" => $curr_month,
        "curr_year" => $year,
        "date_1" => $date_1,
        "date_2" => $date_2
    );
    return $kwy;
}

Jetzt möchte Ich via DB eine Abfrage für den ermittelten KW auslesen.
DB geht es ja mittels: DATEPART(WEEK, [FELDA]) as [KW] und DATEPART(YEAR, [FELDA]) as [YEAR]

Wenn Ich die Abfrage so aktuell nutze kommt:
WHERE DATEPART(WEEK, [FELDA]) = 02 AND DATEPART(YEAR, [FELDA]) = 2021

Das wäre an der Stelle laut Datensätzen nicht korrekt :/
Das Problem wird sein, dass das neue Jahr direkt in der neuen Woche KW53/01

Wie kann Ich diese Problematik lösen? :)
 
Zurück