OnderwerpenSpiekbriefjeLessen
Lurndo › Onderwerpen › Datumfuncties

SQL leren: Datumfuncties

Rekenen met datums

"Hoeveel boeken zijn er te laat? En hoe lang al?" Sanne heeft een stapel aanmaningen klaarliggen, maar weet niet naar wie. Vandaag is het 15 november 2025.

Een stuk uit een datum halen

Datums staan als tekst in de vorm 'jaar-maand-dag'. Met strftime haal je er een stuk uit: '%Y' is het jaar, '%m' de maand, '%d' de dag.

Let op: het resultaat is tekst, met een voorloopnul. Maart is '03', niet 3.

SELECT uitgeleend_op, strftime('%Y', uitgeleend_op) AS jaar, strftime('%m', uitgeleend_op) AS maand FROM uitleningen
Resultaat
uitgeleend_opjaarmaand
2024-11-04202411
2024-12-02202412
2025-01-08202501
2025-01-20202501
2025-02-03202502
2025-02-15202502
2025-03-01202503
2025-03-12202503

Rekenen met dagen

date(datum, '+21 days') telt dagen op (of af met '-7 days'). Het verschil tussen twee datums krijg je met julianday: dat zet een datum om naar een dagnummer, en die kan je van elkaar aftrekken.

Is een van beide datums NULL, zoals bij een boek dat nog niet terug is, dan is het resultaat ook NULL.

SELECT uitgeleend_op, date(uitgeleend_op, '+21 days') AS terug_voor, julianday(teruggebracht_op) - julianday(uitgeleend_op) AS dagen_weg FROM uitleningen
Resultaat
uitgeleend_opterug_voordagen_weg
2024-11-042024-11-2518
2024-12-022024-12-2325
2025-01-082025-01-2914
2025-01-202025-02-1030
2025-02-032025-02-2421
2025-02-152025-03-089
2025-03-012025-03-2220
2025-03-122025-04-0245

Probeer het zelf

Vandaag is 15 november 2025. Welke boeken zijn nog niet terug en al over tijd? Toon id, lid_id en terug_voor.

Klaar voor meer?

De volledige les heeft 7 oefeningen, van makkelijk naar uitdagend, met hints, punten en een reeks die je kan opbouwen.

Begin aan de les
← VorigeTekst bewerkenVolgende →Kiezen met CASE
SQL-onderwerpenSpiekbriefjeExcelRanglijstAccountPrivacyEnglish