logo

Funkcije datuma in časa SQL

noter SQL , datumi so za novince zapleteni, saj je treba pri delu z bazo podatkov format podatkov v tabeli uskladiti z vhodnimi podatki, ki jih želite vstaviti. V različnih scenarijih se namesto datuma uporablja datum in čas (z datumom je vključen tudi čas).

Za shranjevanje datuma ali vrednosti datuma in časa v bazi podatkov, MySQL ponuja naslednje vrste podatkov:

DATUM obliki LLLL-MM-DD
DATUM ČAS format: LLLL-MM-DD HH:MI: SS
ČASOVNI ŽIG format: LLLL-MM-DD HH:MI: SS
LETO obliki LLLL ali LL

Zdaj pa pojdite k nekaterim priljubljenim funkcijam v datumskih funkcijah SQL.



ZDAJ()

Vrne trenutni datum in uro.

poizvedba:

SELECT NOW();>

Izhod:

zdaj metoda izhodna slika

CURDATE()

Vrne trenutni datum.

večvrstični komentar powershell

poizvedba:

SELECT CURDATE();>

Izhod:

IZHOD2

CURTIME()

Vrne trenutni čas.

poizvedba:

SELECT CURTIME();>

Izhod:

IZHOD3

DATUM()

Ekstrahira datumski del izraza datuma ali datuma/časa. Primer: za spodnjo tabelo z imenom 'Test'

Id Ime Čas rojstva
4120 Vadite 1996-09-26 16:44:15,581

poizvedba:

SELECT Name, DATE(BirthTime)  AS BirthDate FROM Test;>

Izhod:

Ime Rojstni datum
Vadite 1996-09-26

IZVLEČEK()

Vrne en sam del datuma/časa.

Sintaksa

IZVLEČEK (enota IZ datuma);

Upoštevati je mogoče več enot, vendar se uporabljajo le nekatere, kot npr MIKROSEKUNDA, SEKUNDA, MINUTA, URA, DAN, TEDEN, MESEC, ČETRTLETJE, LETO itd. In 'datum' je veljaven datumski izraz. Primer: za spodnjo tabelo z imenom 'Test'

Id Ime Čas rojstva
4120 Vadite 1996-09-26 16:44:15,581

poizvedba:

SELECT Name, Extract(DAY FROM  BirthTime) AS BirthDay FROM Test;>

Izhod:

java ubežni znak
Ime rojstni dan
Vadite 26

poizvedba:

SELECT Name, Extract(YEAR FROM BirthTime) AS BirthYear FROM Test;>

Izhod:

Ime Rojstno leto
Vadite tisoč devetsto šestindevetdeset

poizvedba:

SELECT Name, Extract(SECOND FROM  BirthTime) AS BirthSecond FROM Test;>

Izhod:

Ime BirthSecond
Vadite 581

DATE_ADD()

Datumu doda določen časovni interval.

Sintaksa:

DATE_ADD(datum, vrsta izraza INTERVAL);

Where, date – veljaven datumski izraz, expr pa je število intervalov, ki jih želimo dodati. in vrsta je lahko ena od naslednjih: MIKROSEKUNDA, SEKUNDA, MINUTA, URA, DAN, TEDEN, MESEC, ČETRTLETJE, LETO itd. Primer: Za spodnjo tabelo z imenom »Test«

Id Ime Čas rojstva
4120 Vadite 1996-09-26 16:44:15,581

poizvedba:

SELECT Name, DATE_ADD(BirthTime, INTERVAL  1 YEAR) AS BirthTimeModified FROM Test;>

Izhod:

Ime BirthTimeModified
Vadite 1997-09-26 16:44:15,581

poizvedba:

SELECT Name, DATE_ADD(BirthTime,  INTERVAL 30 DAY) AS BirthDayModified FROM Test;>

Izhod:

Ime BirthDayModified
Vadite 1996-10-26 16:44:15,581

poizvedba:

SELECT Name, DATE_ADD(BirthTime, INTERVAL  4 HOUR) AS BirthHourModified FROM Test;>

Izhod:

Ime BirthSecond
Vadite 1996-10-26 20:44:15,581

DATE_SUB()

Odšteje določen časovni interval od datuma. Sintaksa za DATE_SUB je enaka kot DATE_ADD, le razlika je v tem, da se DATE_SUB uporablja za odštevanje danega intervala datuma.

DATEDIFF()

Vrne število dni med dvema datumoma.

Sintaksa:

DATEDIFF(datum1, datum2);

date1 & date2 - izraz za datum/čas

poizvedba:

SELECT DATEDIFF('2017-01-13','2017-01-03') AS DateDiff;>

Izhod:

DateDiff
10

FORMAT DATUMA()

Prikaže podatke o datumu/času v različnih oblikah.

Sintaksa:

DATE_FORMAT(datum,oblika);

tiskanje izjave v Javi

datum je veljaven datum in format določa izhodni format za datum/čas. Formati, ki jih je mogoče uporabiti, so:

  • %a-Skrajšano ime dneva v tednu (ned-sob)
  • %b-Skrajšano ime meseca (jan-dec)
  • %c-mesec, številsko (0-12)
  • %D-dan v mesecu z angleško pripono (0., 1., 2., 3.)
  • %d-dan v mesecu, številsko (00-31)
  • %e-dan v mesecu, številsko (0-31)
  • %f-mikrosekund (000000-999999)
  • %H-ura (00-23)
  • %h-ura (01-12)
  • % I-ura (01-12)
  • %i-minut, številsko (00-59)
  • %j-dan v letu (001-366)
  • %k-ura (0-23)
  • %l-ura (1-12)
  • %M-ime meseca (januar-december)
  • %m-mesec, številsko (00-12)
  • %p-dopoldne ali popoldne
  • %r-čas, 12 ur (hh:mm: ss, ki mu sledi AM ali PM)
  • %S-sekund (00-59)
  • %s-sekund (00-59)
  • %T-čas, 24 ur (hh:mm:ss)
  • %U-teden (00-53), kjer je nedelja prvi dan v tednu
  • %u-teden (00-53), kjer je ponedeljek prvi dan v tednu
  • %V-teden (01-53), kjer je nedelja prvi dan v tednu, uporabljeno z %X
  • %v-teden (01-53), kjer je ponedeljek prvi dan v tednu, uporabljen z %x
  • %W-ime dneva v tednu (nedelja-sobota)
  • %w-dan v tednu (0=nedelja, 6=sobota)
  • %X-leto za teden, kjer je nedelja prvi dan v tednu, štiri števke, uporabljeno z %V
  • %x-leto za teden, kjer je ponedeljek prvi dan v tednu, štiri števke, uporabljeno z %v
  • %Y-leto, številsko, štirimestno
  • %y-leto, številsko, dvomestno