Funkcie pre prácu s dátumom a časom
Veľmi často potrebujeme v databázach uchovávať aj údaje o čase a dátume. Tieto zaznamenávajú rôzne udalosti v konkrétnom okamihu. Ako príklad môže byť, keď sa prijíma do zamestnania k určitému dátumu. Preto si ukážeme zopár funkcií dátumu a času.
CURDATE() – vráti aktuálny dátum vo formáte RRRR-MM-DD
CURTIME() – vráti aktuálny čas vo formáte HH:MM:SS
NOW(), SYSDATE(), TIME_STAMP – vráti dátum a čas vo formáte RRRR-MM-DD HH:MM:SS
DATE_ADD(datum, INTERVAL vyraz typ) – pripočíta k dátumu špecifikovanú hodnotu
EXTRACT(typ FROM datum) – vyberie časť dátumu (sekundy – SECOND, dni – DAY, mesiac – MONTH, ...)
YEAR(datum) – vráti rok zo zadaného dátumu
YEARWEEK(datum) – vráti rok a dvojciferné číslo týždňa v roku
QUARTER(datum) – vráti číslo kvartálu v roku (1 – 4)
MONTHNAME(datum) – vráti názov mesiaca v angličtine
DAYOFWEEK(datum) – vráti poradové číslo dňa v týždni (1 – nedeľa, ..., 7 – sobota)
DAYNAME(datum) – vráti názov dňa v týždni v angličtine
WEEKDAY(datum) – vráti poradové číslo dňa v týždni (0 – pondelok, ..., 6 – nedeľa)
WEEK(datum, 1) – vráti poradové číslo týždna v roku
HOUR(cas) – vráti hodnotu hodín zo zadaného času
MINUTE(cas) – vráti hodnotu minút zo zadaného času
SECOND(cas) – vráti hodnotu sekúnd zo zadaného času
SEC_TO_TIME(pocet_sekund) – prevedie počet sekúnd od polnoci na čas v tvare HH:MM:SS
TIME_TO_SEC(cas) – prevedie zadaný čas na počet sekúnd po polnoci
TO_DAYS(datum) – vráti počet dní od počiatku nášho letopočtu
DATE_FORMAT(datum,format) – prevedie zadaný čas na počet sekúnd po polnoci
%Y |
rok RRRR (pr. 2003, 1999 ...) |
%y |
rok RR (pr. 03, 99 ...) |
%m |
mesiac MM (pr. 01, 06, 12 ...) |
%c |
mesiac M alebo MM (pr. 1, 6, 12 ...) |
%M |
názov mesiaca (pr. January ...) |
%b |
názov mesiaca skrátene (pr. Jan, Feb ...) |
%u |
číslo týždňa v roku - %D - deň rádovou číslovkou (pr. 1st, 2nd ...) |
%d |
deň v mesiaci DD (pr. 01, 02, 31 ...) |
%e |
deň v mesiaci D alebo DD (pr. 1, 2, 31 ...) |
%w |
číslo dňa v týždni D (pr. 0, 6 ...) |
%W |
názov dňa v týždni (pr. Sunday ...) |
%a |
názov dňa v týždni skrátene (pr. Sun, Mon ...) |
%j |
číslo dňa v roku DDD (pr. 000, 006, 366 ...) |
%H |
hodina HH (pr. 00, 06, 23 ...) |
%k |
hodina H alebo HH (pr. 0, 6, 23 ...) |
%h |
hodina HH len do 12 (pr. 01, 06, 12 ...) |
%l |
hodina H alebo HH len do 12 (pr. 1, 6, 12 ...) |
%i |
minúty MM (pr. 01, 06, 59 ...) |
%s |
sekundy SS (pr. 01, 06, 59 ...) |
%P |
dĺžka cyklu - poldňové alebo celodenné(pr. AM, PM) |
Príklad:
SELECT DATE_FORMAT(NOW(),"%w.%e.%y"); //Vypíše: 5.23.07

