MySQL har en masse forskellige funktioner, der gør det muligt for os at få forskellige datodele – såsom dag, måned og år – fra en dato.
DATE_FORMAT()
Funktion
DATE_FORMAT()
funktion er fantastisk, hvis du ønsker at returnere datodelene i et enkelt felt.
Eksempel:
SELECT DATE_FORMAT('2035-12-19', '%W, %D %M %Y');
Resultat:
Wednesday, 19th December 2035
Du kan også returnere kun de korte dag- og månedsnavne, hvis det er det ønskede resultat:
SELECT DATE_FORMAT('2035-12-19', '%a, %D %b %Y');
Resultat:
Wed, 19th Dec 2035
Eller du kan returnere dag-månedsnumrene:
SELECT DATE_FORMAT('2035-12-19', '%d/%c/%Y');
Resultat:
19/12/2035
Du kan også returnere hver datodel i sit eget felt, hvis det kræves:
SELECT
DATE_FORMAT('2035-12-19', '%d') AS Day,
DATE_FORMAT('2035-12-19', '%c') AS Month,
DATE_FORMAT('2035-12-19', '%Y') AS Year;
Resultat:
+------+-------+------+ | Day | Month | Year | +------+-------+------+ | 19 | 12 | 2035 | +------+-------+------+
Se denne fulde liste over formatspecifikationer for en komplet oversigt over de formatspecifikationer, du kan bruge til at konstruere en formatstreng.
DATE_FORMAT()
accepterer også et valgfrit lokalitetsargument, som du kan bruge til at angive sproget for dags- og månedsnavnene. Se MySQL DATE_FORMAT()
Eksempler for mere.
EXTRACT()
Funktion
EXTRACT()
funktionen giver dig mulighed for at udtrække en specificeret enhed fra datoen. Derfor kan du bruge den til at udtrække dag, måned og år (samt andre enheder) fra datoen.
Eksempel:
SELECT
EXTRACT(DAY FROM '2035-12-19') AS Day,
EXTRACT(MONTH FROM '2035-12-19') AS Month,
EXTRACT(YEAR FROM '2035-12-19') AS Year;
Resultat:
+------+-------+------+ | Day | Month | Year | +------+-------+------+ | 19 | 12 | 2035 | +------+-------+------+
Funktioner til returnering af en specifik datoenhed
MySQL har også nogle mere specifikke funktioner, der returnerer en bestemt datoenhed.
Nedenfor er en liste over de funktioner, der returnerer dagen, måneden og året fra en dato.
DAYNAME()
Funktion
MySQL har mere end én funktion til at returnere dagen. Dette skyldes, at der er mere end én måde at repræsentere dagen på. MySQL skal vide, om du vil have dagsnavnet, ugedagens nummer, månedsdagen, årsdag osv.
DAYNAME()
funktion returnerer ugedagsnavnet:
SELECT DAYNAME('2035-12-19');
Resultat:
Wednesday
DAYOFMONTH()
Funktion
DAYOFMONTH()
funktion returnerer dagen i månedstallet.
Eksempel:
SELECT DAYOFMONTH('2035-12-19');
Resultat:
19
DAY()
Funktion
DAY()
funktion er faktisk et synonym for DAYOFMONTH()
funktion.
Eksempel:
SELECT DAY('2035-12-19');
Resultat:
19
Som forventet, det samme resultat som DAYOFMONTH()
.
DAYOFWEEK()
Funktion
DAYOFWEEK()
funktion returnerer ugedagsindekset for datoen, som angivet af ODBC-standarden (1
=søndag, 2
=mandag, …, 7
=lørdag).
Eksempel:
SELECT DAYOFWEEK('2035-12-19');
Resultat:
4
Se WEEKDAY()
nedenfor for forskellig indeksering.
WEEKDAY()
Funktion
WEEKDAY()
funktion ligner DAYOFWEEK()
ved at den returnerer ugeindekset for datoen. Forskellen er, at den bruger en anden indeksnummerering (0
=mandag, 1
=tirsdag, … 6
=søndag).
Eksempel:
SELECT WEEKDAY('2035-12-19');
Resultat:
2
DAYOFYEAR()
Funktion
DAYOFYEAR()
funktion returnerer dagen i året for datoen i området 1
til 366
.
Eksempel:
SELECT DAYOFYEAR('2035-12-19');
Resultat:
353
MONTH()
Funktion
MONTH()
funktion returnerer måneden i området 1
til 12
for januar til december eller 0
for datoer, der har en nul-måneders del (såsom 0000-00-00
).
Eksempel:
SELECT MONTH('2035-12-19');
Resultat:
12
MONTHNAME()
Funktion
Som navnet antyder, er MONTHNAME()
funktion returnerer månedens navn. Sproget, der bruges til navnet, styres af værdien af lc_time_names
systemvariabel.
Eksempel:
SELECT MONTHNAME('2035-12-19');
Resultat:
December
YEAR()
Funktion
YEAR()
funktion returnerer årsdelen af datoen.
Eksempel:
SELECT YEAR('2035-12-19');
Resultat:
2035