Entwickler-Ecke

Datenbanken (inkl. ADO.NET) - MS SQL getdate? Datum von bis rückwärts berechnen


rolfbremer - Mi 22.10.14 01:39
Titel: MS SQL getdate? Datum von bis rückwärts berechnen
Hallo.
Ich bastel an einem Script, um einen Datumsbereich ausgehend von einem fix vorgegebenem Datum zu berechnen.
MSSQL 2008R2

Beispiel:
Ich möchte ausrechnen, wieviele Artikel in Aufträgen mit Status 1 an welchem Wochentag erfasst wurden, ausgehend von einem festen Tag. Beispielsweise in den letzten 45 Tagen.
Dazu fehlt mir die genaue Syntax für den Wert heute minus x Tage bzw. heute zum Vergleich. Ich habs nicht hinbekommen, es fehlt wohl die korrekte cast oder convert Anweisung zwischen den Fragezeichen. Hat jemand eine Idee?


SQL-Anweisung
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
select artnr as Artikel, 
sum(Menge) as Menge, 
datename (weekday,datum) as Tag, 
Datum from auftrag
where Status = '1'
???????????????????????????????????????????????????????
and Datum between  (heutiges Datum minus 14 Tage) and (heutiges Datum) 
???????????????????????????????????????????????????????
and Artikelnummer = '100'
group by datename (weekday,datum), artnr, Datum
order by artnr,  case datename (weekday, Datum)
      when 'Montag' then 1
      when 'Dienstag' then 2
      when 'Mittwoch' then 3
      when 'Donnerstag' then 4
      when 'Freitag' then 5
      when 'Samstag' then 6
      when 'Sonntag' then 7
end


Gruß Rolf

Moderiert von user profile iconTh69: SQL-Tags hinzugefügt
Moderiert von user profile iconTh69: Unnötige Zeilenumbrüche entfernt


baumina - Mi 22.10.14 07:20

Mit DateAdd [http://msdn.microsoft.com/de-de/library/ms186819.aspx] müsst das doch einfach machbar sein.


Moderiert von user profile iconTh69: Beitragsformatierung überarbeitet.