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