Datum Functies

Beschikbaar

3.1 Lijst met functies voor het werken met datum en tijd

Datum en tijd zijn een van de meest voorkomende typen gegevens die in databases worden opgeslagen. Daarom is de lijst met functies om ermee te werken erg groot. Dit zijn de meest populaire:

# Functie Beschrijving
1 CURDATE() Retourneert de huidige datum
2 CURTIJD() Retourneert de huidige tijd
3 NU(), LOKALETIJD() Retourneert de huidige datum en huidige tijd
4 JAAR() Retourneert jaar vanaf datum
5 MAAND() Retourneert de maand vanaf een datum
6 DAG(), DAGVANMAAND() Retourneert de dag van een datum
7 UUR() Retourneert slechts enkele uren na tijd
8 MINUUT() Kondigt minuten van tijd aan
9 SECONDE() Retourneert seconden vanaf de tijd
10 DAGNAAM() Retourneert de naam van de dag van de week: maandag, ...
elf MAANDNAAM() Retourneert de naam van de maand: januari, ...
12 WEEK() Retourneert de week vanaf een datum
13 WEEKDAG() Retourneert het nummer van de dag van de week: maandag - 0, dinsdag - 1
14 WEEKJAAR() Retourneert het weeknummer van het jaar
15 DAG VAN DE WEEK() Retourneert het nummer van de dag van de week: zondag - 1, maandag - 2
16 DAG VAN JAAR() Retourneert de dag van het jaar: 1-366
17 DATUM() Retourneert alleen de datum van een "datetime"-object
18 TOEVOEGEN() Voegt dagen toe aan een datum
19 SUBDATUM() Trekt dagen af ​​van een datum
20 VOEG TIJD TOE() Voegt tijd tot tijd toe
21 ONDERTIJD() Trekt tijd af van tijd

Ik heb de functies met opzet in kleine groepen gegroepeerd om het gemakkelijker te maken om te begrijpen hoe ermee te werken. Hieronder zullen we één functie uit elke groep bekijken.

Een volledige lijst met functies voor het werken met datum en tijd vindt u op de link: https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html

3.2 Functies oproepen

Trouwens, aangezien we zoveel functies aan het leren zijn, denk ik dat het nuttig is om te vermelden dat de operator SELECTniet gebruikt hoeft te worden met FROM. Het kan de waarde van elke uitdrukking retourneren. De algemene weergave hiervan wordt gegeven door de sjabloon:

SELECT expression

En als je een functie wilt aanroepen, moet je code schrijven zoals:

SELECT function(options)

Hieronder geef ik enkele voorbeelden van de werking van de operator SELECTzonder gebruik te maken van tabellen:

# Verzoek Resultaat
1 KIES 1+1 2
2 KIES 13 MOD 5 3
3 SELECTEER ASELECT() 0.20771444235715497
4 SELECTEER CURDATE() 2022-06-04
5 SELECTEER CURTIME() 00:06:02
6 SELECTEER NU() 2022-06-04 00:06:43

En zoals u in de bovenstaande tabel kunt zien, hoeft u slechts een van de functies te gebruiken om de huidige datum en tijd te krijgen:

  • CURDATE()- huidige datum;
  • CURTIME()- huidige tijd;
  • NOW()– huidige datum en tijd.

3.3 Gegevens groeperen op jaar en maand

Laten we onze takentabel met taken voor werknemers terughalen. Laten we proberen taken uit deze tabel te groeperen op jaar. Om dit te doen, gebruiken we de functie YEAR(), die het jaar teruggeeft vanaf de datum die eraan is doorgegeven.

De eerste versie van onze query ziet er als volgt uit:

SELECT
    id,
    employee_id ,
    name,
    YEAR(deadline) AS year,
    deadline
FROM task

Het resultaat van deze query zal zijn:

ID kaart medewerker_id naam jaar deadline
1 1 Los een bug op de frontend op 2022 01-06-2022
2 2 Los een bug op de backend op 2022 2022-06-15
3 5 Koop koffie 2022 01-07-2022
4 5 Koop koffie 2022 01-08-2022
5 5 Koop koffie 2022 01-09-2022
6 (NUL) Ruim het kantoor op (NUL) (NUL)
7 4 Geniet van het leven (NUL) (NUL)
8 6 Geniet van het leven (NUL) (NUL)

We kunnen zien dat alle rijen hetzelfde jaar hebben, dus laten we twee velden gebruiken: jaar en maand. De tweede versie van onze query ziet er als volgt uit:

SELECT
    id,
    employee_id ,
    name,
    YEAR(deadline) AS year,
    MONTH(deadline) AS month,
    deadline
FROM task

Het resultaat van deze query zal zijn:

ID kaart medewerker_id naam jaar maand deadline
1 1 Los een bug op de frontend op 2022 6 01-06-2022
2 2 Los een bug op de backend op 2022 6 2022-06-15
3 5 Koop koffie 2022 7 01-07-2022
4 5 Koop koffie 2022 8 01-08-2022
5 5 Koop koffie 2022 9 01-09-2022
6 (NUL) Ruim het kantoor op (NUL) (NUL) (NUL)
7 4 Geniet van het leven (NUL) (NUL) (NUL)
8 6 Geniet van het leven (NUL) (NUL) (NUL)

Ik zal je niet vertellen hoe je taken per jaar en maand moet groeperen - je hebt dit al bestudeerd: gebruik de operator GROUP BY.

Opmerkingen
  • Populair
  • Nieuw
  • Oud
Je moet ingelogd zijn om opmerkingen te kunnen maken
Deze pagina heeft nog geen opmerkingen