SQL Aus Attribut Datum, Uhrzeit, nur das Tagesdatum ermitteln

Excelmania

Lieutenant
Registriert
Apr. 2010
Beiträge
799
Hallo.

Ich möchte gerne aus einem Attribut mit der Wertsyntax JJJJ-MM-TT Stunden:Minuten:SEK nur das Datum ausgegeben bekommen, um dann zu ermitteln, an welche Tagen wieviele Buchungen vorlagen.


Code:
select count(id), convert(erstelldatum, getdate()) from Störmeldungen
group by convert(erstelldatum, getdate())

Leider funktioniert es nicht. Was mache ich falsch?
 
DATE(erstelldatum) liefert dir ein Datum vom Format YYYY-MM-DD

Code:
SELECT DATE(erstelldatum) AS Datum, COUNT(id) AS Buchungen FROM Störmeldungen GROUP BY Datum
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: PHuV, blablub1212, djerunX und eine weitere Person
Braucht man in dem Fall nicht oder? Entweder das Attribut ist vom Typ Date dann ist eh egal, oder vom Typ String. Aber da der String ISO-Datumsformat hat wird er implizit konvertiert.
 
Hallo.

Vielen Dank für die schnelle Hilfe.

Mit Date bekommen ich alle Tage angezeigt. über EXTRACT(YEAR FROM einstelldatum) das Ganze auch nach Jahren oder mit EXTRACT(MONTH FROM einstelldatum) auch nach Monaten.

Geht auch irgendwie die Kombination Jahr-Monat? Und könnte man unter die Abfrage auch eine Summezeile setzen?

Habs hinbekommen:

Code:
SELECT EXTRACT(YEAR  FROM einstelldatum) year
     , EXTRACT(MONTH FROM einstelldatum) month
     , count(id)                   revenue
  FROM stoermeldungen
 GROUP BY EXTRACT(YEAR  FROM einstelldatum)
        , EXTRACT(MONTH FROM einstelldatum)

Wie bekomme ich jedoch eine Summenzeile darunter?
 
Zuletzt bearbeitet:
Das Jahr erhält man mit
Code:
YEAR(erstelldatum)
Monat mit
Code:
MONTH(erstelldatum)
und Jahr-Monat mit
Code:
DATE_FORMAT(erstelldatum, "%Y-%m")

Die Extract-Funtion macht das, für mich, irgendwie unübersichtlicher.
 
Zurück
Oben