V tomto kurzu se budeme podrobně zabývat funkcemi data a času v SQL. V jazyce SQL máme k dispozici různé vestavěné funkce, které nám pomáhají filtrovat užitečné údaje z velkého souboru dat. Jednou z takových částí jsou funkce data a času jazyka SQL.
Pomocí funkcí data a času můžeme zjistit dnešní datum, můžeme zkontrolovat datum po určitém zadaném čase a podobně.
Máme také k dispozici funkci rozčlenit zadané datum na různé složky, jako je měsíc, rok nebo jen den či kombinace všech.
Díky těmto přidaným funkcím můžeme využít jazyk SQL pro návrh a údržbu rozsáhlých databází.
Funkce data a času jsou fascinující a v našem tutoriálu jim porozumíme více.
Zůstaňte informováni o nejnovějších technologických trendech
Připojte se k DataFlair na Telegramu!!!
- Co je funkce data a času v SQL?
- Proč potřebujeme funkce data a času?
- Příklady funkcí data a času v SQL
- Demo databáze
- 1. NOW( ) v SQL
- 2. CURDATE( ) v jazyce SQL
- 3. CURTIME( ) v SQL
- 4. DATE( ) v SQL
- 5. EXTRACT( ) v jazyce SQL
- 6. DATE_ADD( )
- 7. DATE_SUB( )
- 8. DATEDIFF( )
- 9. DATE_FORMAT( )
- 10. DAY()
- 11. MONTH()
- 12. YEAR( )
- Souhrn
Co je funkce data a času v SQL?
V SQL máme k dispozici mnoho datových typů, které můžeme použít jako datum v naší tabulce. Některé z nich jsou populární – ‚YYYY-MM-DD‘ a ‚DD-MM-YYYY‘.
V některých scénářích máme v databázi s datem uložen také čas, v takových případech potřebujeme nástroje pro oddělený přístup k času a datu. Zde se hodí čas a funkce SQL.
Jako začátečník bychom také měli být velmi opatrní při používání data nebo DateTime v databázi, protože je velmi pravděpodobné, že při nesprávném zacházení s nimi dojde k výjimkám.
Formáty data a času v SQL:
DATUM – YYYY-MM-DD
DATETIME – YYYY-MM-DD HH:MI:SS
TIMESTAMP – YYYY-MM-DD HH:MI:SS
ROK – YYYY nebo YYY
Proč potřebujeme funkce data a času?
Pro datum a čas máme v SQL k dispozici spoustu funkcí. Ty jsou k dispozici proto, aby byl zajištěn bezproblémový přístup k modulu data a času při vytváření databáze SQL a přístupu k ní.
Některé z nejoblíbenějších funkcí data a času jsou následující:
Sr.Ne | Funkce | Popis |
1 | NOW( ) | Zobrazí aktuální datum a čas. |
2 | CURDATE( ) | Zobrazí aktuální datum. |
3 | CURTIME( ) | Zobrazí aktuální čas. |
4 | DATE( ) | Zobrazí datum z výrazu Date/DateTime. |
5 | EXTRACT( ) | Zobrazí vybranou část, tj. datum/čas. |
6 | DAY( ) | Zobrazí den z daného data. |
7 | MĚSÍC( ) | Zobrazí měsíc od daného data. |
8 | ROK( ) | Zobrazí rok od daného data. |
9 | DATE_ADD( ) | Zobrazí datum po přičtení daného intervalu. |
10 | DATE_SUB( ) | Zobrazí datum po odečtení daného intervalu. |
11 | DATEDIFF( ) | Zobrazí interval mezi dvěma daty. |
12 | DATE_FORMAT( ) | Zobrazí data/čas v různých dostupných formátech. |
Příklady funkcí data a času v SQL
Demo databáze
V tomto výukovém kurzu budeme pro pochopení konceptů používat tabulku DataFlair. Zobrazíme si naši ukázkovou databázi:
Dotaz:
SELECT * FROM DataFlair;
Zde vidíme data uložená v databázi DataFlair.
Nyní se ponoříme do práce různých funkcí:
1. NOW( ) v SQL
Syntaxe:
SELECT NOW();
Příklad:
Dotaz:
SELECT NOW() AS dateToday
Zde vidíme výsledek, tj. datum dnes. Můžete pokračovat a zkontrolovat to i ve svém systému.
2. CURDATE( ) v jazyce SQL
Syntaxe:
SELECT CURDATE();
Příklad:
Dotaz:
SELECT CURDATE() AS DateToday;
3. CURTIME( ) v SQL
Syntaxe:
SELECT CURTIME();
Příklad:
Dotaz:
SELECT CURTIME() AS timeNow;
4. DATE( ) v SQL
Syntaxe:
SELECT DATE(columnName),columnName2 FROM tableName;
Příklad:
Dotaz:
SELECT name , DATE(dob) FROM DataFlair;
5. EXTRACT( ) v jazyce SQL
Syntaxe:
EXTRACT(unit FORM date);
Příklad:
Dotaz:
SELECT name, EXTRACT(Day from dob) FROM DataFlair;
6. DATE_ADD( )
Syntax:
DATE_ADD(date, INTERVAL expr type);
Příklad:
Dotaz:
SELECT name , DATE_ADD(dob,Interval 2 YEAR) AS post_2_years FROM DataFlair;
7. DATE_SUB( )
Syntaxe:
DATE_SUB(date, INTERVAL expr type);
Příklad:
Dotaz:
SELECT name , DATE_SUB(dob,Interval 1 YEAR) AS post_2_years FROM DataFlair;
8. DATEDIFF( )
Syntax:
DATEDIFF(date1,date2);
Příklad:
Dotaz:
SELECT datediff('2020-2-25','2020-02-01') AS Age;
9. DATE_FORMAT( )
Syntaxe:
SELECT DATE_FORMAT(date);
Příklad:
Dotaz:
SELECT DATE_FORMAT(NOW(),'%d') as daytoday
10. DAY()
Syntaxe:
SELECT DAY(date);
Příklad:
Dotaz:
SELECT DAY(NOW());
11. MONTH()
Syntaxe:
SELECT MONTH(date);
Příklad:
Dotaz:
SELECT MONTH(NOW());
12. YEAR( )
Syntaxe:
SELECT YEAR(date);
Příklad:
Dotaz:
SELECT YEAR(NOW());
Souhrn
V tomto kurzu jsme do hloubky pochopili funkce data a času, přičemž jsme měli k dispozici jejich použití a syntaxi. Na příkladech jsme mohli pochopit, jak mocné jsou funkce data a času v jazyce SQL.
Pomocí funkcí data a času můžeme prakticky získat jakýkoli detail, který v dotazu požadujeme. Pomocí funkce Now() jsme schopni získat aktuální datum a dále můžeme datum formátovat pomocí různých dostupných možností formátování.