logo

SQL funkcie dátumu a času

In SQL , dátumy sú pre nováčikov komplikované, keďže pri práci s databázou musí formát údajov v tabuľke zodpovedať vstupným údajom, ktoré sa majú vložiť. V rôznych scenároch sa namiesto dátumu používa dátum a čas (čas je tiež spojený s dátumom).

Ak chcete uložiť dátum alebo hodnotu dátumu a času v databáze, MySQL ponúka nasledujúce typy údajov:

čo je štruktúra v dátovej štruktúre
DÁTUM formát RRRR-MM-DD
DÁTUM ČAS formát: RRRR-MM-DD HH:MI: SS
ČASOVÁ ZNAČKA formát: RRRR-MM-DD HH:MI: SS
ROK formát YYYY alebo YY

Teraz sa pozrime na niektoré populárne funkcie v dátumových funkciách SQL.



TERAZ()

Vráti aktuálny dátum a čas.

Dopyt:

SELECT NOW();>

Výkon:

teraz výstupný obrázok metódy

CURDATE()

Vráti aktuálny dátum.

Dopyt:

SELECT CURDATE();>

Výkon:

VÝSTUP2

CURTIME()

Vráti aktuálny čas.

Dopyt:

SELECT CURTIME();>

Výkon:

VÝSTUP3

DÁTUM()

Extrahuje dátumovú časť z výrazu dátumu alebo dátumu a času. Príklad: Pre tabuľku nižšie s názvom „Test“

Id názov Čas narodenia
4120 Prax 1996-09-26 16:44:15,581

Dopyt:

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

Výkon:

názov Dátum narodenia
Prax 1996-09-26

EXTRACT()

Vráti jednu časť dátumu/času.

css zarovnávanie obrázkov

Syntax

EXTRACT(jednotka OD dátumu);

Do úvahy pripadá viacero jednotiek ale len niektoré sa používajú ako napr MIKROKRUHÁ, SEKUNDA, MINÚTA, HODINA, DEŇ, TÝŽDEŇ, MESIAC, ŠTVRŤROK, ROK atď. A „dátum“ je platný výraz dátumu. Príklad: Pre tabuľku nižšie s názvom „Test“

Id názov Čas narodenia
4120 Prax 1996-09-26 16:44:15,581

Dopyt:

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

Výkon:

názov narodeniny
Prax 26

Dopyt:

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

Výkon:

názov Rok narodenia
Prax devätnásť deväťdesiat šesť

Dopyt:

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

Výkon:

názov Druhé narodenie
Prax 581

DATE_ADD()

Pridá k dátumu zadaný časový interval.

Syntax:

DATE_ADD(dátum, INTERVAL typ expr);

Kde, dátum – platný dátumový výraz a výraz je počet intervalov, ktoré chceme pridať. a typ môže byť jeden z nasledujúcich: MIKROSECOND, SECOND, MINÚTA, HODINA, DEŇ, TÝŽDEŇ, MESIAC, ŠTVRŤROK, ROK atď. Príklad: Pre tabuľku nižšie s názvom „Test“

Id názov Čas narodenia
4120 Prax 1996-09-26 16:44:15,581

Dopyt:

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

Výkon:

názov BirthTimeModified
Prax 1997-09-26 16:44:15,581

Dopyt:

správca úloh linux
SELECT Name, DATE_ADD(BirthTime,  INTERVAL 30 DAY) AS BirthDayModified FROM Test;>

Výkon:

názov BirthDayModified
Prax 1996-10-26 16:44:15,581

Dopyt:

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

Výkon:

názov Druhé narodenie
Prax 1996-10-26 20:44:15,581

DATE_SUB()

Odpočíta zadaný časový interval od dátumu. Syntax pre DATE_SUB je rovnaká ako pre DATE_ADD, len s tým rozdielom, že DATE_SUB sa používa na odčítanie daného intervalu dátumu.

DATEDIFF()

Vráti počet dní medzi dvoma dátumami.

Syntax:

funkcie java 8

DATEDIFF(dátum1, dátum2);

dátum1 a dátum2 – výraz dátumu a času

Dopyt:

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

Výkon:

DateDiff
10

FORMÁT DÁTUMU()

Zobrazuje údaje o dátume a čase v rôznych formátoch.

Syntax:

DATE_FORMAT(dátum,formát);

dátum je platný dátum a formát určuje výstupný formát pre dátum/čas. Formáty, ktoré možno použiť, sú:

  • %a-Skrátený názov dňa v týždni (Ne-So)
  • %b-Skrátený názov mesiaca (január – dec)
  • %c-mesiac, numericky (0-12)
  • %D – Deň v mesiaci s anglickou príponou (0., 1., 2., 3.)
  • %d-deň v mesiaci, numerický (00-31)
  • %e-Day v mesiaci, číselné (0-31)
  • %f-mikrosekúnd (000000-999999)
  • %H-Hod (00-23)
  • %h-hodina (01-12)
  • %I-Hour (01-12)
  • %i-minút, číselné (00-59)
  • %j-deň v roku (001-366)
  • %k-hodina (0-23)
  • %l-hodina (1-12)
  • Názov %M-mesiaca (január – december)
  • %m-mesiac, číselne (00-12)
  • %p-AM alebo PM
  • %r-Time, 12 hodín (hh:mm: ss nasledované AM alebo PM)
  • %S-sekúnd (00-59)
  • %s-sekúnd (00-59)
  • %T-Time, 24 hodín (hh:mm:ss)
  • %U-Week (00-53), kde nedeľa je prvým dňom týždňa
  • %u-týždeň (00-53), kde pondelok je prvý deň v týždni
  • %V-týždeň (01-53), kde nedeľa je prvý deň v týždni, používa sa s %X
  • %v-týždeň (01-53), kde pondelok je prvý deň v týždni, používa sa s %x
  • %W-Názov dňa v týždni (nedeľa – sobota)
  • %w-deň v týždni (0=nedeľa, 6=sobota)
  • %X-Year pre týždeň, kde nedeľa je prvým dňom v týždni, štyri číslice, používané s %V
  • %x-Year pre týždeň, kde pondelok je prvý deň v týždni, štyri číslice, používané s %v
  • %Y-rok, číselné, štyri číslice
  • %y-rok, číselný, dvojciferný