Erinevus lehekülje "Kuupäevafunktsioonid" redaktsioonide vahel

Allikas: Teadmusbaas
 
(ei näidata sama kasutaja 13 vahepealset redaktsiooni)
2. rida: 2. rida:
  
 
* 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;
 
* 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 ühikud ja tüüp)'' või ''ADDDATE(kuupäeva_avaldis,päevade arv)'', näiteks <code>SELECT ADDDATE('2018-01-02', INTERVAL 31 DAY)</code>;
+
* 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 <code>SELECT ADDDATE('2018-01-02', INTERVAL 31 DAY)</code>;
 
 
 
* Jooksvat kuupäeva saab funktsioonidega ''NOW()'' ja SYSDATE: ''SYSDATE([täpsus])'', näiteks <code>SELECT SYSDATE(4)</code> annab kellaaja sekundid 4 komakohaga;
 
* Jooksvat kuupäeva saab funktsioonidega ''NOW()'' ja SYSDATE: ''SYSDATE([täpsus])'', näiteks <code>SELECT SYSDATE(4)</code> 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 <code>SELECT DATEDIFF(NOW(),"2007-04-21");</code>;
 +
* EXTRACT funktsioon võimaldab kuupäevast tuletada vajaliku kuupäeva osa (päeva, kuu, aasta), näiteks <code>SELECT EXTRACT(YEAR FROM '2019-07-02');</code> 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.
 +
<h5>Tabel 1. funktsioonides ''ADDDATE, SUBDATE, DATE_ADD, DATE_SUB, TIMESTAMPADD, TIMESTAMPDIFF, EXTRACT'' kasutatavad ühikud</h5>
 +
<table border=1>
 +
<tr><th>Ühik</th><th>Kirjeldus</th></tr>
 +
<tr><td>MICROSECOND</td><td>mikrosekundid</td></tr>
 +
<tr><td>SECOND </td><td>sekundid</td></tr>
 +
<tr><td>MINUTE </td><td>minutid</td></tr>
 +
<tr><td>HOUR </td><td>tunnid</td></tr>
 +
<tr><td>DAY </td><td>päevad</td></tr>
 +
<tr><td>WEEK </td><td>nädalad</td></tr>
 +
<tr><td>MONTH </td><td>kuud</td></tr>
 +
<tr><td>QUARTER </td><td>kvartalid</td></tr>
 +
<tr><td>YEAR </td><td>aastad</td></tr>
 +
<tr><td>SECOND_MICROSECOND </td><td>sekundid.mikrosekundid</td></tr>
 +
<tr><td>MINUTE_MICROSECOND </td><td>minutid.sekundid.mikrosekundid</td></tr>
 +
<tr><td>MINUTE_SECOND </td><td>minutid.sekundid</td></tr>
 +
<tr><td>HOUR_MICROSECOND </td><td>tunnid.minutid.sekundid.mikrosekundid</td></tr>
 +
<tr><td>HOUR_SECOND </td><td>tunnid.minutid.sekundid</td></tr>
 +
<tr><td>HOUR_MINUTE </td><td>tunnid.minutid</td></tr>
 +
<tr><td>DAY_MICROSECOND </td><td>päevad tunnid.minutid.sekundid.mikrosekundid</td></tr>
 +
<tr><td>DAY_SECOND </td><td>päevad tunnid.minutid.sekundid</td></tr>
 +
<tr><td>DAY_MINUTE </td><td>päevad tunnid.minutid</td></tr>
 +
<tr><td>DAY_HOUR </td><td>päevad tunnid</td></tr>
 +
<tr><td>YEAR_MONTH </td><td>aastad-kuud</td></tr>
 +
</table>
  
 +
<h5>Tabel 2. Funktsioonides ''DATE_FORMAT, STR_TO_DATE, FROM_UNIXTIME'' (kellaajavõtmed ''TIME_FORMAT'') kasutatavad võtmed</h5>
 +
<table border=1>
 +
<tr><th>Võti</th><th>Kirjeldus</th></tr>
 +
<tr><td>%a</td><td>Lühike nädalapäeva nimi serveri seadetest (muutuja lc_time_names)</td></tr>
 +
<tr><td>%b</td><td>Lühike kuu nimetus serveri seadetest. ('''en_US''' korral: Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec)</td></tr>
 +
<tr><td>%c </td><td>Kuu 1 või 2-kohalise arvuna</td></tr>
 +
<tr><td>%D </td><td>Päeva lisaliides inglisekeelses vormingus: 'th', 'nd', 'st', 'rd''. (1st, 2nd, 3rd...).</td></tr>
 +
<tr><td>%d </td><td>Päev 2-kohalise arvuga</td></tr>
 +
<tr><td>%e </td><td>Päev 1 või 2-kohalise arvuna</td></tr>
 +
<tr><td>%f </td><td>Sekundi murdosad 6 komakohaga</td></tr>
 +
<tr><td>%H </td><td>Tunnid 2-kohalise arvuna vahemikus 00-23</td></tr>
 +
<tr><td>%h </td><td>Tunnid 2-kohalise arvuna vahemikus 01-12.</td></tr>
 +
<tr><td>%I </td><td>Tunnid 2-kohalise arvuna vahemikus 01-12.</td></tr>
 +
<tr><td>%i </td><td>Minutid 2-kohalise arvuna</td></tr>
 +
<tr><td>%j </td><td>Päeva järjekorranumber aastas (001-366)</td></tr>
 +
<tr><td>%k </td><td>Tunnid 1-kohalise arvuna vahemikus 0-23.</td></tr>
 +
<tr><td>%l </td><td>Tunnid 1-kohalise arvuna vahemikus 1-12.</td></tr>
 +
<tr><td>%M </td><td>Täielik kuu nimetus vastavalt serveri keskkonnamuutujale (Muutuja lc_time_names)</td></tr>
 +
<tr><td>%m </td><td>Kuu 2-kohalise arvuna</td></tr>
 +
<tr><td>%p </td><td>AM/PM vastavalt serveri keskkonnamuutujale (Muutuja lc_time_names).</td></tr>
 +
<tr><td>%r </td><td>Aeg 12 tunnises vormingus koos AM/PM. On võtmete '%I:%i:%S %p' alias</td></tr>
 +
<tr><td>%S </td><td>Sekundid 2-kohalise arvuna</td></tr>
 +
<tr><td>%s </td><td>Sekundid 2-kohalise arvuna</td></tr>
 +
<tr><td>%T </td><td>Aeg 24 tunnises vormingus. On võtmete '%H:%i:%S' alias</td></tr>
 +
<tr><td>%U </td><td>Nädala number (00-53), kui nädala esimene päev on pühapäev</td></tr>
 +
<tr><td>%u </td><td>Nädala number (00-53), kui nädala esimene päev on esmaspäev</td></tr>
 +
<tr><td>%V </td><td>Nädala number (01-53), kui nädala esimene päev on pühapäev. Kasutatakse koos %X</td></tr>
 +
<tr><td>%v </td><td>Nädala number (01-53), kui nädala esimene päev on esmaspäev. Kasutatakse koos %x</td></tr>
 +
<tr><td>%W </td><td>Nädalapäeva täisnimi vastavalt serveri keskonnamuutujale (Muutuja lc_time_names)</td></tr>
 +
<tr><td>%w </td><td>Arvuline nädalapäev. 0 = Pühapäev, 6 = Laupäev</td></tr>
 +
<tr><td>%X </td><td>4-kohaline aastaarv, kui nädala esimene päev on pühapäev. Kasutatakse koos %V</td></tr>
 +
<tr><td>%x </td><td>4-kohaline aastaarv, kui nädala esimene päev on esmaspäev. Kasutatakse koos %v.</td></tr>
 +
<tr><td>%Y </td><td>4-kohaline aastaarv,</td></tr>
 +
<tr><td>%y </td><td>2-kohaline aastaarv,</td></tr>
 +
<tr><td>%# </td><td>str_to_date() jaoks, jätab kõik arvud vahele</td></tr>
 +
<tr><td>%. </td><td>str_to_date() jaoks, jätab kõik punktimärgid vahele</td></tr>
 +
<tr><td>%@ </td><td>str_to_date() jaoks, jätab kõik alfa sümbolid vahele</td></tr>
 +
<tr><td>%% </td><td>% märgi kasutaiseseks</td></tr>
 +
</table>
  
 
<h5>Allikad:</h5>
 
<h5>Allikad:</h5>

Viimane redaktsioon: 13. mai 2019, kell 10:57

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