Rust erweitert

This commit is contained in:
2026-09-17 08:12:04 +02:00
parent 815facc1cf
commit 9610638462
3 changed files with 180 additions and 51 deletions
+81 -22
View File
@@ -538,30 +538,30 @@ Der Rest bei der Division durch 7 ist immer kleiner als 7 und reicht von 0 bis 6
#####################################################
Challenge zu modulo
#### Challenge zu modulo
> Verfügbare Tabellen und Spalten:
>
> - `**products**`**:** `**id**`**,** `**price**`, `quantity`
> - | products | | | |
> | -------- | --- | ----- | -------- |
> | | id | price | quantity |
> | 1 | 1 | 154 | 18 |
> | 2 | 2 | 98 | 3 |
> | 3 | 3 | 54 | 15 |
> | 4 | 4 | 142 | 14 |
> | 5 | 5 | 70 | 2 |
> | 6 | 6 | 189 | 7 |
> | 7 | 7 | 44 | 3 |
> | 8 | 8 | 62 | 16 |
> | 9 | 9 | 101 | 8 |
> | 10 | 10 | 192 | 9 |
> | 11 | 11 | 4 | 21 |
> | 12 | 12 | 208 | 3 |
> | 13 | 13 | 144 | 5 |
> | 14 | 14 | 68 | 98 |
> | 15 | 15 | 5 | 14 |
Verfügbare Tabellen und Spalten:
- `**products**`**:** `**id**`**,** `**price**`, `quantity`
- Products
| id | price | quantity |
| :--- | :---- | :------- |
| 1 | 154 | 18 |
| 2 | 98 | 3 |
| 3 | 54 | 15 |
| 4 | 142 | 14 |
| 5 | 70 | 2 |
| 6 | 189 | 7 |
| 7 | 44 | 3 |
| 8 | 62 | 16 |
| 9 | 101 | 8 |
| 10 | 192 | 9 |
| 11 | 4 | 21 |
| 12 | 208 | 3 |
| 13 | 144 | 5 |
| 14 | 68 | 98 |
| 15 | 5 | 14
Erstellen Sie eine Abfrage, die:
1. Die Produkt-ID anzeigt
@@ -1136,3 +1136,62 @@ a*a*a
```
`select id , (3*id*id*id*id + 5*id*id*id + 0.9*id*id + 2.2 * id +1 )as quartic from items`
### Datumsangaben behandeln – Teil 1
Daten in SQL haben ein bestimmtes Format und wir können sie ähnlich wie Zahlen abfragen. Um ein Datum in einer Abfrage zu schreiben, verwenden wir das Format: YYYY-MM-DD (2012-09-24)
Um Datumsangaben abzufragen, können wir alle Operatoren verwenden, die wir bereits kennen – größer (`>`), kleiner (`<`) oder gleich (`=`) innerhalb des Schlüsselworts WHERE:
```sql
SELECT * FROM table1WHERE col1 > '2011-01-13'
```
Wir können sogar das Schlüsselwort BETWEEN verwenden:
```sql
SELECT * FROM table1WHERE col1 BETWEEN '2010-01-01' AND '2010-02-25'
```
Verfügbare Tabellen und Spalten:
`**games**`: `**id**`, `**date**`
Rufe alle Spiel-IDs ab, die **nicht** im Winter gespielt werden.
Winterdaten sind: `2022-12-21` – `2023-03-20`. Nur diese Tage sollten nicht enthalten sein.
Sortiere sie nach dem Datum in absteigender Reihenfolge und benenne die Spalte in **game** um.
| id | date |
| --- | ------------------------ |
| 5 | 2022-11-20T22:00:00.000Z |
| 6 | 2022-01-11T22:00:00.000Z |
| 7 | 2023-01-01T22:00:00.000Z |
| 8 | 2023-02-12T22:00:00.000Z |
| 9 | 2022-10-28T21:00:00.000Z |
| 10 | 2022-08-31T21:00:00.000Z |
| 11 | 2022-12-21T22:00:00.000Z |
| 12 | 2022-12-19T22:00:00.000Z |
| 13 | 2022-10-31T22:00:00.000Z |
| 14 | 2023-03-19T22:00:00.000Z |
```sql
select id as game from games where date < "2022-12-21" or date > "2023-03-20" order by date desc
```
### Datumsangaben behandeln – Teil 2
Datumsangaben können nicht wie Zahlen addiert oder subtrahiert werden. Um Berechnungen mit Datumsangaben durchzuführen, müssen wir sie mithilfe der Funktion JULIANDAY in Zahlen umwandeln.
Diese Funktion wandelt Datumsangaben in den julianischen Tag um, eine fortlaufende Zählung der Tage seit dem 1. Januar 4713 v. Chr., die von Astronomen für Zeitintervalle und Vergleiche zwischen verschiedenen Kalendern verwendet wird.
Beachte, dass im Julianischen Tagessystem der Tag mittags (12:00:00) beginnt, sodass ein Bruchteil von .5 genau Mittag darstellt.
Um es zu verwenden, schreiben wir:
```sql
SELECT JULIANDAY('2023-02-20 12:00:00')
```
Dies gibt `2459996.0` Tage zurück
Julianische Tage beginnen mittags, daher steht `.0` für Mittag, wie im Unterrichtsbeispiel gezeigt, in dem `'2023-02-20 12:00:00'` `2459996.0` zurückgibt. Daher steht `.5` für Mitternacht (auf halbem Weg durch den `JULIANDAY`), nicht für Mittag.