2
0

add sql date functions

This commit is contained in:
cwikladaniel
2026-02-06 12:29:20 +01:00
parent 21471e419e
commit bf01530dda
3 changed files with 212 additions and 1 deletions

View File

@@ -0,0 +1,128 @@
# Übung (Basis: Tabelle Flugdaten)
-> `datum.sql`
## A1
### Aufgabenstellung
Gib alle Flüge aus, die im Oktober 2025 starten.
### Lösung
```sql
SELECT *
FROM fluege
WHERE MONTH(abflug) = 10 AND YEAR(abflug) = 2025
```
## A2
### Aufgabenstellung
Zeige das Datum und die Uhrzeit des Abflugs und der Ankunft getrennt an.
### Lösung
```sql
SELECT
-- Abflug
DATE(abflug), TIME(abflug),
-- Ankunft
DATE(ankunft), TIME(ankunft)
FROM fluege
```
## A3
### Aufgabenstellung
Berechne die Flugdauer in hh:mm:ss für jeden Flug. (→TIMEDIFF)
### Lösung
```sql
SELECT SEC_TO_TIME(TIMESTAMPDIFF(SECOND, abflug, ankunft)) AS Flugzeit
FROM fluege
```
## A4
### Aufgabenstellung
Berechne die Flugdauer in Minuten für jeden Flug. (→TIMEDIFF)
### Lösung
```sql
SELECT TIMESTAMPDIFF(MINUTE, abflug, ankunft) AS Flugzeit
FROM fluege
```
## A5
### Aufgabenstellung
Zeige alle Flüge, die länger als 3 Stunden dauern
### Lösung
```sql
SELECT *
FROM fluege
WHERE TIMESTAMPDIFF(HOUR, abflug, ankunft) > 3
```
## A6
### Aufgabenstellung
Formatiere das jeweilige Abflugdatum in folgendem Format: **07.10.2025 - 14:30 Uhr**
### Lösung
```sql
SELECT DATE_FORMAT(abflug, '%d.%m.%Y - %H:%i Uhr') AS ablfug_formatiert
FROM fluege
```
## A7
### Aufgabenstellung
Ermittle die Anzahl der Flüge pro Monat
### Lösung
```sql
SELECT MONTHNAME(abflug) AS Monatsname, COUNT(*) AS Anzahl_Fluege
FROM fluege
GROUP BY MONTH(abflug)
ORDER BY MONTH(abflug);
```
### Erklärung:
mit `COUNT(*)` werden die Ergebnisse gezählt und nach dem Monat mit `GROUB BY MONTH(abflug)` gruppiert und mit `ORDER BY MONTH(abflug)` nach dem Monat sortiert
## A8
### Aufgabenstellung
Zeige alle Flüge, die am Wochenende abfliegen X
### Lösung
```sql
SELECT *
FROM fluege
WHERE DAYOFWEEK(abflug) IN (7, 1);
```
### Erklärung
Es werden nur die Einträge angezeigt wo der Tag des Abflugs `7` oder `1` ist.
> `7` -> Samstag
> `1` -> Sonntag
>
> Da die Woche in USA am Sonntag startet und nicht am Montag