MySQL-datoformat er en meget praktisk funktion. Det formaterer en dato som angivet i argumentet. En liste over formatspecifikationer angivet nedenfor kan bruges til at formatere en dato. "%" er påkrævet før formatangivelsens tegn. Her er et snydeark til MySQL datoformatfunktion.
MySQL-datoformatsyntaks
DATE_FORMAT(dato;format)
dato – datostreng i formatet 'ÅÅÅÅ-MM-DD TT:MM:SS'. Det kan være en datokolonne fra en tabel, streng som vist ovenfor eller systemfunktion som NOW()
format – streng i formatet '%x'. x er et alfabet for formatstrengen.
MySQL datoformat snydeark –
Formatér streng | Beskrivelse |
---|---|
%a | Forkortet ugedagsnavn (søn..lør) |
%b | Forkortet månedsnavn (jan..dec.) |
%ac | Måned, numerisk (0..12) |
%D | Dag i måneden med engelsk suffiks (0., 1., 2., 3., …) |
%d | Dag i måneden, numerisk (00..31) |
%e | Dag i måneden, numerisk (0..31) |
%f | Mikrosekunder (000000..999999) |
%H | Time (00..23) |
%h | Time (01..12) |
%I | Time (01..12) |
%i | Minutter, numerisk (00..59) |
%j | Dag i året (001..366) |
%k | Time (0..23) |
%l | Time (1..12) |
%M | Månedens navn (januar..december) |
%m | Måned, numerisk (00..12) |
%p | AM eller PM |
%r | Tid, 12 timer (tt:mm:ss efterfulgt af AM eller PM) |
%S | Sekunder (00..59) |
%s | Sekunder (00..59) |
%T | Tid, 24 timer (tt:mm:ss) |
%U | Uge (00..53), hvor søndag er den første dag i ugen |
%u | Uge (00..53), hvor mandag er den første dag i ugen |
%V | Uge (01..53), hvor søndag er den første dag i ugen; brugt med %X |
%v | Uge (01..53), hvor mandag er den første dag i ugen; brugt med %x |
%W | Ugedagsnavn (søndag..lørdag) |
%w | Ugedag (0=søndag..6=lørdag) |
%X | År for ugen, hvor søndag er den første dag i ugen, numerisk, fire cifre; brugt med %V |
%x | År for ugen, hvor mandag er den første dag i ugen, numerisk, fire cifre; brugt med %v |
%Y | Årtal, numerisk, fire cifre |
%y | År, numerisk (to cifre) |
%% | Et bogstaveligt "%"-tegn |
Eksempel:
#using system function now() SELECT DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p'); #using a string SELECT DATE_FORMAT('2011-11-05 11:45:00','%b %d %Y %h:%i %p'); #using a date column CREATE TABLE TEST(DT DATETIME); INSERT INTO TEST(DT) VALUES('2010-10-05 10:45:00'); SELECT DATE_FORMAT(DT,'%b %d %Y %h:%i %p') from TEST;
Resultat:
Dec 04 2013 10:40 PM Nov 05 2013 11:45 PM Oct 05 2010 10:45 PM
Som du kan se, kan du bruge mellemrum, komma eller endda bindestreger i formatstrengen. MySQL datoformatfunktion vil beholde dem i resultatet. Resten af strengen erstattes med passende formater. Her er nogle almindeligt anvendte datoformater, som du kan bruge.
#using system function now() SELECT DATE_FORMAT(NOW(),'%M %d, %Y'); SELECT DATE_FORMAT(NOW(),'%b %d, %Y'); SELECT DATE_FORMAT(NOW(),'%c-%d-%Y'); SELECT DATE_FORMAT(NOW(),'%c-%d-%y'); SELECT DATE_FORMAT(NOW(),'%d/%c/%Y'); SELECT DATE_FORMAT(NOW(),'%d/%c/%y'); SELECT DATE_FORMAT(NOW(),'%b %d, %Y %h:%i %p'); SELECT DATE_FORMAT(NOW(),'%M %d, %Y %h:%i %p');
Deres resultater