Der er nogle virkelig nyttige MySQL-datofunktioner, der hjælper dig med at få den nødvendige del af en date direkte. Her er de almindeligt anvendte MySQL-datofunktioner. Disse MySQL-datofunktioner er meget nemme at huske.
MySQL datofunktions syntaks:
funktionsnavn(dato)
funktionsnavn – det kan være en af nedenstående som år, måned osv.
dato – datostreng i formatet 'ÅÅÅÅ-MM-DD TT:MM:SS'. Det kan være en dato- eller datetime-kolonne fra en tabel, streng eller systemfunktion som NOW()
For direkte at beregne År fra dato eller datotid, kan du bruge MySQL Year-funktionen:
#using system function now() SELECT YEAR(NOW()); #using a string SELECT YEAR('2011-11-05 11:45:00'); #using a date column CREATE TABLE TEST(DT DATETIME); INSERT INTO TEST(DT) VALUES('2010-10-05 10:45:00'); SELECT YEAR(DT) from TEST;
Resultat:
2013 2013 2010
Funktionen NU() viser dig den aktuelle dato og klokkeslæt. Jeg har vist den seneste dato og tid her til reference .
SELECT NOW(); '2013-12-05 10:37:46'
For direkte at beregne Måned fra dato eller datotid, kan du bruge MySQL-månedsfunktionen:
SELECT MONTH(NOW()); 12
For direkte at beregne dato fra datetime kan du bruge MySQL Date-funktionen:
SELECT DATE(NOW()); 2013-12-05
For direkte at beregne Dag fra dato eller datotid, kan du bruge MySQL Day-funktionen:
SELECT DAY(NOW()); 5
For direkte at beregne Ugenummer fra dato eller datotid, kan du bruge MySQL Week-funktionen:
SELECT WEEK(NOW()); 48
For direkte at beregne År og uge fra dato eller datotid, kan du bruge MySQL YearWeek-funktionen:
SELECT YEARWEEK(NOW()); 12
For direkte at beregne timer fra tid eller dato, kan du bruge MySQL Hour-funktionen:
SELECT HOUR(NOW()); 10
For datofelt returneres tiden som ’00:00:00′. Så du vil se resultatet som 0.
#using a date column CREATE TABLE TEST(DT DATE); INSERT INTO TEST(DT) VALUES('2010-10-05'); SELECT HOUR(DT) from TEST; 0
For direkte at beregne minutter fra tid eller dato, kan du bruge MySQL Minute-funktionen:
SELECT MINUTE(NOW()); 37
For datofelt returneres tiden som ’00:00:00′. Så du vil se resultatet som 0.
For direkte at beregne sekunder fra tid eller dato, kan du bruge MySQL Second funktion:
SELECT SECOND(NOW()); 46
For datofelt returneres tiden som ’00:00:00′. Så du vil se resultatet som 0.