Zeitvertreib mit strftime(...)

Toll, einen Espresso hat sie mir ausgegeben. Dann ist sie verschwunden und ich konnte ihn alleine trinken. *knirsch

*gähn

zzZ

Oh Mann, ist das langweilig hier. Vielleicht sollte ich mal bisschen an der Datenbank rumspielen ... Mal schauen, wer alles im gleichen Jahr wie ich geboren ist.

*tuuuuuut* ... *tuuuuuut* ... *tuuuuuut* ... *tuuuuuut* ... *tuuuuuut* ...

Was ist denn jetzt schon wieder?

Hey, Kowalsky, ich will alle Leute rausfinden, die im gleichen Jahr wie ich geboren sind. Wie geht das?

Ist dir langweilig???

(nuschelt) Ne, ist wichtig, weil, ...

Das kannst du doch schon lange. Einfach where geburtsdatum like '1950%'. Und jetzt muss ich -

1950??? Ich bin 1994 geboren, und das weißt du genau. Aber hey, das mit dem LIKE, das ist so kompliziert ... Geht es nicht einfacher?

(genervt) Ich schick dir was, wenn du versprichst, mich heute nicht mehr anzurufen. *klack

Wie der sich immer anstellt ... Ah, da ist schon eine Mail von ihm. Fix ist er ja ... (druckt die Mail aus)

Datumsfunktionen

Eigentlich könntest du dir das ja selbst durchlesen bei sqlite.org - Date And Time Functions. Deshalb nur ganz kurz: Wenn du Tag, Monat oder Jahr als Zahl brauchst, benutzt du strftime(...):

SELECT a.datum,
strftime('%m', a.datum)
FROM aufenthalte a;

strftime steht für "String from time", also für dich als Englisch-Profi: "Zeichenkette aus Zeit". Januar ist dann 01, Februar 02 usw.

Folgende Parameterwerte sind für dich relevant:

  • %d = Tag des Monats (00 bis 31)
  • %m = Monat (01 bis 12)
  • %Y = Jahr (0000 bis 9999)

Das Y ist groß, d und m klein! Und damit kannst du dann Abfragen schreiben wie

SELECT *
FROM aufenthalte a
WHERE strftime('%m', a.datum) = '04';

Wichtig: strftime gibt dir eine Zeichenkette zurück, du musst diese Werte als immer in Hochkommata schreiben (wie im Beispiel die '04') - und beim Monat mit führender 0!

Übrigens, nur falls dich Kapoor mal fragt: In MySQL macht man das mit MONTH(...) und YEAR(...) und so.

Ok ... kapiert ... Dann mal los. Ich benutze konsequent für alle Abfragen strftime um das zu üben.

  1. Welche Bürger/innen haben im gleichen Jahr wie Smith (1994) Geburtstag?
  2. Welche Bürger/innen sind an einem 24. Dezember geboren?
  3. Welche Bürger/innen haben - wie ich :-) - das Sternzeichen Widder (21.03. bis 20.04.)?
  4. Wie viele Bürger/innen sind in einem geraden Monat geboren?
  5. Im April geboren bringt Geldsegen, sagte mein Großonkel immer. Das will ich doch mal sehen. Ich lasse mir ausgeben, wie viel Kohle alle, die im April geboren sind, zusammen auf dem Konto haben.

Mensch, ich kann mich nicht konzentrieren. Bin immer noch sauer auf Tiffany ... Erst lässt sie mich für sich arbeiten und dann -

*BUMM BUMM BUMM*