Kuupäevafunktsioonid

Allikas: Teadmusbaas

MariaDb kuupäeva ja kellaaja funtsioonid on ADDDATE, ADDTIME, CURDATE, DATEDIFF, DAYNAME, EXTRACT, LAST_DAY, NOW, SYSDATE jpt, täielik loetelu vt allikas 1

  • Kuupäevasid saab liita ja lahutada funktsioonidega ADDDATE, DATE_ADD, SUBDATE ning kellaaegasid liita ja lahutada funktsioonidega ADDTIME ja SUBTIME, jooksvat kuupäeva saab kuvada funktsioonidega CURDATE, NOW ja SYSDATE, jooksvat kellaaega saab vaadata CURTIME funktsiooniga;
  • ADDDATE funktsioonil on 2 kuju: ADDDATE(kuupäev,INTERVAL väärtus ja ühik vt tabel 1) või ADDDATE(kuupäeva_avaldis,päevade arv), näiteks SELECT ADDDATE('2018-01-02', INTERVAL 31 DAY);
  • Jooksvat kuupäeva saab funktsioonidega NOW() ja SYSDATE: SYSDATE([täpsus]), näiteks SELECT SYSDATE(4) annab kellaaja sekundid 4 komakohaga;
  • Kahe kuupäeva vahelist päevade arvu arvutab DATEDIFF, millel on 2 argumenti hilisem kuupäev ja varasem kuupäev, näiteks SELECT DATEDIFF(NOW(),"2007-04-21");;
  • EXTRACT funktsioon võimaldab kuupäevast tuletada vajaliku kuupäeva osa (päeva, kuu, aasta), näiteks SELECT EXTRACT(YEAR FROM '2019-07-02'); tuletab aastaarvu;
  • LAST_DAY(kuupäev) väljastab kuupäeva järgi kuu viimase päeva;
  • MONTHNAME(kuupäev)väljastab kuupäevaga määratud kuu nime;
  • DATE_FORMAT(date, format[, locale]) ja TIME_FORMAT vormindavad kuupäeva või kellaaega etteantud parameetrite järgi, vt tabel 2.
Tabel 1. funktsioonides ADDDATE, SUBDATE, DATE_ADD, DATE_SUB, TIMESTAMPADD, TIMESTAMPDIFF, EXTRACT kasutatavad ühikud
ÜhikKirjeldus
MICROSECONDmikrosekundid
SECOND sekundid
MINUTE minutid
HOUR tunnid
DAY päevad
WEEK nädalad
MONTH kuud
QUARTER kvartalid
YEAR aastad
SECOND_MICROSECOND sekundid.mikrosekundid
MINUTE_MICROSECOND minutid.sekundid.mikrosekundid
MINUTE_SECOND minutid.sekundid
HOUR_MICROSECOND tunnid.minutid.sekundid.mikrosekundid
HOUR_SECOND tunnid.minutid.sekundid
HOUR_MINUTE tunnid.minutid
DAY_MICROSECOND päevad tunnid.minutid.sekundid.mikrosekundid
DAY_SECOND päevad tunnid.minutid.sekundid
DAY_MINUTE päevad tunnid.minutid
DAY_HOUR päevad tunnid
YEAR_MONTH aastad-kuud
Tabel 2. Funktsioonides DATE_FORMAT, STR_TO_DATE, FROM_UNIXTIME (kellaajavõtmed TIME_FORMAT) kasutatavad võtmed
VõtiKirjeldus
%aLühike nädalapäeva nimi serveri seadetest (muutuja lc_time_names)
%bLühike kuu nimetus serveri seadetest. (en_US korral: Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec)
%c Kuu 1 või 2-kohalise arvuna
%D Päeva lisaliides inglisekeelses vormingus: 'th', 'nd', 'st', 'rd. (1st, 2nd, 3rd...).
%d Päev 2-kohalise arvuga
%e Päev 1 või 2-kohalise arvuna
%f Sekundi murdosad 6 komakohaga
%H Tunnid 2-kohalise arvuna vahemikus 00-23
%h Tunnid 2-kohalise arvuna vahemikus 01-12.
%I Tunnid 2-kohalise arvuna vahemikus 01-12.
%i Minutid 2-kohalise arvuna
%j Päeva järjekorranumber aastas (001-366)
%k Tunnid 1-kohalise arvuna vahemikus 0-23.
%l Tunnid 1-kohalise arvuna vahemikus 1-12.
%M Täielik kuu nimetus vastavalt serveri keskkonnamuutujale (Muutuja lc_time_names)
%m Kuu 2-kohalise arvuna
%p AM/PM vastavalt serveri keskkonnamuutujale (Muutuja lc_time_names).
%r Aeg 12 tunnises vormingus koos AM/PM. On võtmete '%I:%i:%S %p' alias
%S Sekundid 2-kohalise arvuna
%s Sekundid 2-kohalise arvuna
%T Aeg 24 tunnises vormingus. On võtmete '%H:%i:%S' alias
%U Nädala number (00-53), kui nädala esimene päev on pühapäev
%u Nädala number (00-53), kui nädala esimene päev on esmaspäev
%V Nädala number (01-53), kui nädala esimene päev on pühapäev. Kasutatakse koos %X
%v Nädala number (01-53), kui nädala esimene päev on esmaspäev. Kasutatakse koos %x
%W Nädalapäeva täisnimi vastavalt serveri keskonnamuutujale (Muutuja lc_time_names)
%w Arvuline nädalapäev. 0 = Pühapäev, 6 = Laupäev
%X 4-kohaline aastaarv, kui nädala esimene päev on pühapäev. Kasutatakse koos %V
%x 4-kohaline aastaarv, kui nädala esimene päev on esmaspäev. Kasutatakse koos %v.
%Y 4-kohaline aastaarv,
%y 2-kohaline aastaarv,
%# str_to_date() jaoks, jätab kõik arvud vahele
%. str_to_date() jaoks, jätab kõik punktimärgid vahele
%@ str_to_date() jaoks, jätab kõik alfa sümbolid vahele
%% % märgi kasutaiseseks
Allikad:
  1. MariaDB kuupäeva ja kellaaja funktsioonid

Tagasi SQL lausendite juurde