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:

CURDATE()
Vráti aktuálny dátum.
Dopyt:
SELECT CURDATE();>
Výkon:

CURTIME()
Vráti aktuálny čas.
Dopyt:
SELECT CURTIME();>
Výkon:

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ý