mysql date format timestamp functions with examples
Tento komplexní výukový program poskytuje syntaxi a příklady funkcí MySQL Date Format a Timestamp, jako je aktuální datum, přidání data, přidání času atd .:
V tomto kurzu se dozvíme podrobně o datových typech MySQL Datum a čas a různých funkcích poskytovaných MySQL pro manipulaci s hodnotami data a času.
MySQL poskytuje skvělou sadu funkcí / nástrojů pro provádění různých operací, jako je přidávání a odečítání dat, zjištění rozdílu mezi 2 daty a extrahování konkrétních částí dané hodnoty data a času.
Co se naučíte:
MySQL formát data a časové funkce
Tyto funkce jsou velmi důležité, kdykoli jsou v tabulkách MySQL vyžadovány jakékoli operace s hodnotami sloupců data a času.
Předběžné požadavky
Pro spuštění příkladů použitých v tomto kurzu budete potřebovat místní nastavení instalace MySQL.
= >> Informace o instalaci MySQL naleznete v našem výukovém programu tady.
DATOVÉ A ČASOVÉ datové typy
Datové typy zahrnují YEAR, DATE, TIME, DATETIME a TIMESTAMP.
MySQL ukládá hodnoty data a času pomocí 5 různých datových typů, tj. - YEAR, DATE, TIME, DATETIME a TIMESTAMP. Pokusme se jim krátce porozumět v níže uvedené tabulce, než se ponoříme hlouběji do DATE FORMATS a DATETIME FUNCTIONS poskytovaných MySQL.
Typ | Syntax | Rozsah | Paměť | Formát |
---|---|---|---|---|
% H | Hodina - 00 - 23 | |||
ROK | Slouží k uložení právě roční části colName ROK | 1901 - 2155 | jeden | „RRRR“ |
DATUM | Slouží k uložení pouze části DATE. colName DATUM | „1000-01-01“ až „9999-12-31“ | 3 | „RRRR-MM-DD“ |
ČAS | Slouží k uložení pouze části TIME. colName ČAS colName ČAS (n) n -> přesnost nebo zlomková složka | „00: 00: 00“ až „23: 59: 59“ | 3 + zlomekSkladování | „Hh: mm: ss. (Zlomek)“ |
ČAS SCHŮZKY | Slouží k ukládání DATE i TIME colName ČAS SCHŮZKY colName DATETIME (n) n -> přesnost nebo zlomková složka | „1000-01-01 00: 00: 00,000000“ až „9999-12-31 23: 59: 59,999999“ | 5 + zlomekSkladování | „RRRR-MM-DD hh: mm: ss. (Zlomek)“ |
TIMESTAMP | Slouží k ukládání DATE i TIME colName TIMESTAMP colName TIMESTAMP (n) n -> přesnost nebo zlomková složka | „1970-01-01 00:00:01“ UTC do „2038-01-19 03:14:07“ UTC. | 4 + frakčníSkladování | „RRRR-MM-DD hh: mm: ss. (Zlomek)“ |
Nyní pochopíme požadavky na paměť pro frakční úložiště. U datových typů TIME, DATETIME a TIMESTAMP v závislosti na zadané zlomkové komponentě by se spotřebovaná paměť lišila.
Počet zlomků | Paměť (v bajtech) |
---|---|
0 | 0 |
1-2 | jeden |
3-4 | dva |
5-6 | 3 |
Pomocí výše uvedené tabulky například, pokud máme typ sloupce jako - TIME (5).
Celková využitá paměť by pak byla => paměť používaná datovým typem TIME + paměť používaná 5 zlomkovou složkou => 3 + 3 => 6 bajtů
Pojďme si ilustrovat všechny tyto datové typy jako součást jedné tabulky a podívejme se na hodnoty, které jsou přiřazeny každému z těchto typů.
CREATE TABLE datetime_illustration(year_col YEAR, date_col DATE, time_col TIME, time_col_fractional TIME(2), datetime_col DATETIME, datetime_col_fractional DATETIME(6), timestamp_col TIMESTAMP, timestamp_col_fractional TIMESTAMP(6))
Vložte jeden řádek do tabulky pomocí funkce ‘now ()’, což je aktuální časové razítko. Všimněte si, jak by použití této funkce vedlo k oříznutí / vložení pouze požadované části aktuálního data a času, v závislosti na datovém typu sloupce.
insert into datetime_illustration values (now(), now(), now(), now(), now(), now(), now(), now()); select * from datetime_illustration
Nyní se podívejme na obsah tabulky a analyzujeme data v různých sloupcích.
select * from datetime_illustration
Shrneme tedy výše uvedená data jako,
- Všechny sloupce mají přiřazené hodnoty podle datových typů, například, pro první sloupec - YEAR - ačkoli jsme vložili pomocí funkce ‚now () ', což je aktuální časové razítko, hodnota, která byla vložena, je pouze část roku aktuálního času - tj. 2020.
- funkce now () vrací aktuální datum a čas ve formátu - dd: mm: rrrr hh: mm: ss
- Všimněte si zlomkové části v názvech sloupců, která má „_fractional“. V závislosti na počtu zadaných zlomkových číslic jsou zlomkové hodnoty zachyceny a zobrazeny.
Automatická inicializace a aktualizace polí DATETIME a TIMESTAMP
Ve scénářích z reálného života - inicializace a aktualizace DATETIME jsou většinou nakonfigurovány tak, aby byly automatické.
To znamená, že tabulky mají obecně 2 sloupce jako - created_time a updated_time .
sloupec created_time je nakonfigurován tak, aby převzal hodnotu aktuálního systémového času, kdykoli je vložen řádek, a podobně updated_time je nakonfigurován tak, aby vzal aktuální systémový čas, kdykoli jsou provedeny nějaké aktualizace konkrétního řádku tabulky.
Vezměte prosím na vědomí, že, v době vkládání řádků budou mít created_time i updated_time stejnou hodnotu. Všechny následné aktualizace řádku by vedly k aktualizaci pole updated_time o aktuální systémový čas.
Zkusme vytvořit jednu takovou tabulku, která má automatickou inicializaci i aktualizaci.
Vytvoříme tabulku s názvem tržní cena který má pole symbol akcií, cena a datum a čas - created_on a updated_on.
create table stock_price(symbol varchar(100), price decimal(10,2), created_on datetime default current_timestamp, updated_on datetime default current_timestamp on update current_timestamp)
Vložte některá data do tabulky:
insert into stock_price(symbol,price) values('AMZN','3000.10');
Podívejme se na výsledek (všimněte si, že jsme právě zadali hodnoty pro symbol a cenu - sloupce datetime, created_on a updated_on by měly být automaticky inicializovány)
select * from stock_price
zadaná IP adresa brány není platná
Zkuste aktualizovat cenu akcií pro akcie „AMZN“, jak je uvedeno níže:
update stock_price set price='3005.15' where symbol='AMZN'
A teď načtěte data pro tabulku znovu. Měli bychom vidět, jak se hodnota updated_time stále mění, na jakoukoli dobu, kdy došlo k aktualizaci stock_price.
select * from stock_price
Z výše uvedeného příkladu si nyní můžete všimnout, že hodnota sloupce updated_on byla aktualizována na časové razítko aktualizace.
Funkce data a času MySQL
MySQL poskytuje řadu funkcí pro sloupce s datovými typy souvisejícími s datem a časem.
Tyto funkce jsou obvykle zvyklé na,
- Při dotazování na data převeďte uložené datum na požadovaný formát.
- Manipulace s existujícími poli data a času, jako je přidání intervalu k aktuální hodnotě sloupce, odečtení hodin od aktuálních nastavených hodnot atd.
- Extrahování konkrétních informací z uložených hodnot, například, extrahování pouze části „data“ z uložené hodnoty a další filtrování / operace jako SKUPINA VYTVOŘENÁ s datem atd.
V této části uvidíme příklady nejčastěji používaných funkcí Datum a čas.
>> Viz tady pro úplný seznam těchto funkcí.
# 1) Získání aktuálního data a času
MySQL poskytuje mnoho užitečných funkcí / konstantních hodnot k načtení aktuálních hodnot data a času a obvykle se používají při ukládání hodnot ve sloupcích datetime a načítání proti konkrétnímu rozsahu z aktuálních hodnot data a času.
a) curdate ()
Tato funkce získá aktuální datum. Další synonyma funkce curdate () jsou - CURRENT_DATE, CURRENT_DATE (), CURRENT_DATE ( zlomkové číslice )
Příklad této funkce je uveden níže:
select curdate(), CURRENT_DATE(), CURRENT_DATE
b) čas ()
Tato funkce získá aktuální čas. Chcete-li získat zlomkovou část (až 6 číslic), zadejte zlomek v závorkách jako curtime (3). Tím by se načetla aktuální hodnota systémového času až na 3 desetinná místa.
Další synonyma funkce curtime () jsou- CURRENT_TIME, CURRENT_TIME (), CURRENT_TIME ( zlomkové číslice )
select curtime(), CURRENT_TIME(), CURRENT_TIME, curtime(6), CURRENT_TIME(6)
c) nyní ()
Tato funkce získá aktuální časové razítko. V závorkách zadejte zlomkovou část, například, now (4) načte aktuální časové razítko až na 4 desetinná místa.
Mezi další synonyma funkce now () patří CURRENT_TIMESTAMP, CURRENT_TIMESTAMP (), CURRENT_TIMESTAMP ( zlomkové číslice )
select now(), CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP, now(6), CURRENT_TIMESTAMP(6)
# 2) Sčítání a odečítání dat
MySQL poskytuje funkce pro přidávání a odečítání hodnot data a času k existující hodnotě uložené ve sloupci nebo pro použití při dotazování na data. Funkcím porozumíme pomocí příkladů.
Níže uvedenou tabulku použijeme k provedení přidání data a času k odečtení.
create table datetime_calc(datecol DATE, timecol TIME, datetimecol DATETIME(6));
Vložte některé položky do výše uvedené tabulky pomocí příkazů INSERT, jak je uvedeno níže:
insert into datetime_calc values(now(), now(), now(6)); insert into datetime_calc values(now(), now(), now(6));
Podívejme se na výše uvedenou tabulku a podívejme se na uložená data:
Kromě aktualizace sloupců v tabulce můžeme přímo provádět manipulaci s datetime pomocí příkazu SELECT aplikací na libovolné konkrétní datum / čas nebo hodnotu datetime.
a) PŘIDAT ()
Jak název napovídá, tato funkce se používá k přidání data k existující hodnotě data, která může být typu - DATE, DATETIME nebo TIMESTAMP
Syntax:
ADDDATE(inputTimeValue/fieldName, noOfDays)
ADDDATE lze také volat s hodnotou intervalu - což může být DENY, TÝDEN, HODINA, MINUTA, DRUHÝ atd.
Syntaxe by se v takovém případě změnila na,
ADDDATE(inputTimeValue/fieldName, Interval intervalUnit)
Podívejme se na několik příkladů, abychom tomu lépe porozuměli.
SELECT ADDDATE('2020-08-15', 31); // output '2020-09-15'
Když se jako druhý argument zadá celočíselná hodnota, považuje se to za počet dní, které mají být přidány k danému datu.
Některé další příklady s Intervalem jako - MĚSÍC, HODINA a TÝDEN jsou:
SELECT ADDDATE('2020-01-02', INTERVAL 1 MONTH); //output 2020-02-02
SELECT ADDDATE('2020-01-02 12:11:11', INTERVAL 5 HOUR); //output 2020-01-02 17:11:11
SELECT ADDDATE('2020-01-02 12:11:11', INTERVAL 1 WEEK); //output 2020-01-09 12:11:11
Další příklady intervalů mohou být - MINUTE, SECOND, QUARTER atd.
Pro aktualizaci sloupce existující tabulky například, pro tabulku, kterou jsme vytvořili „datetime_calc“, pokud chceme aktualizovat hodnotu „datecol“ a přidat ke všem datům ve sloupci 10 dní, můžeme použít dotaz, jak je uvedeno níže:
update datetime_calc set datecol=ADDDATE(datecol, 30);
Nyní použijte SELECT * k zobrazení všech dat v tabulce datetime_calc.
SELECT * FROM datetime_calc
Ve výše uvedeném výstupu vidíme, že hodnoty sloupce datecol byly aktualizovány na 24-09-2020 od 25-08-2020 po přidání 30 dnů k existujícím hodnotám.
b) ADDTIME ()
Podobně jako ADD_DATE lze funkci ADD_TIME použít k přidání časové komponenty do existujícího sloupce / pole DATETIME, TIME nebo TIMESTAMP nebo zadaného vstupu.
Syntax:
ADDTIME(inputTimeValue/fieldName, ‘hh:mm:ss’)
Příklad:
SELECT ADDTIME('2020-01-02 12:11:11', '01:10:00'); // output 2020-01-02 13:21:11
Podívejme se na příklad, kdy aktualizujeme sloupec datetime v tabulce přidáním 5 hodin ke všem hodnotám v tomto sloupci. Tady je ukázkový dotaz:
update datetime_calc set datetimecol=ADDTIME(datetimecol, '05:00:00')
Výstup tabulky před:
// output '2020-08-25 05:53:37.851379' '2020-08-25 05:53:39.711515'
Výstup tabulky po:
// output '2020-08-25 10:53:37.851379' '2020-08-25 10:53:39.711515'
c) SUBDATE ()
SUBDATE je přesně podobný ADDDATE, jediný rozdíl je, SUBDATE odečte daný interval / číslo. dnů od hodnoty sloupce / pole.
Syntax:
SUBDATE(inputTimeValue/fieldName, noOfDays)
Podívejme se na pár příkladů pro ilustraci funkce SUBDATE ().
SELECT SUBDATE('2020-08-15', 31); // output 2020-07-15
Níže uvedený příklad ukazuje odečtení intervalu uvedeného v hodinách / dnech v týdnu atd.
SELECT SUBDATE('2020-01-02 12:11:11', INTERVAL 1 WEEK); // output 2019-12-26 12:11:11 SELECT SUBDATE('2020-01-02 12:11:11', INTERVAL 12 HOUR); // output 2020-01-02 00:11:11
d) SUBTIME ()
SUBTIME odečte časovou hodnotu uvedenou v „hh: mm: ss“ od dané hodnoty datetime nebo časového pole.
Syntax:
SUBTIME(inputTimeValue/fieldName, ‘hh:mm:ss’)
Příklady funkce SUBTIME ():
SELECT SUBTIME('2020-01-02 12:11:11', '02:20:05'); // output 2020-01-02 09:51:06
# 3) Převod dat
MySQL poskytuje celou řadu vestavěných funkcí od převodu dat z jednoho formátu do druhého. Podívejme se na nejpoužívanější funkce pro převod dat.
a) CONVERT_TZ ()
Tato funkce se používá k převodu data z jednoho časového pásma do druhého. Ty se hodí v situacích, kdy předpokládáme, že vaše data byla uložena v časovém pásmu UTC a při zobrazování chcete převést na časové pásmo podle vašeho výběru.
Například, převést UTC na MET (středoevropský čas).
SELECT CONVERT_TZ('2004-01-01 12:00:00', 'UTC', 'MET');
Tipy / poznámky
# 1) Chcete-li získat seznam všech časových pásem v databázi systému MySQL, můžete spustit níže uvedený dotaz a použít libovolný název časového pásma pro převod z jednoho časového pásma do druhého.
select * from mysql.time_zone_name
#dva) Informace o časovém pásmu se vyplní během instalace instance serveru MySQL. Pokud je výsledek výše uvedeného dotazu NULL, pak možná budete muset nejprve naplnit hodnoty časových pásem v systémových tabulkách MySQL.
>> Postupujte podle toho odkaz pro další pomoc v tomto.
b) FROM_UNIXTIME ()
Tato funkce se používá k převodu daného UNIX TIMESTAMP na formát datetime MySQL.
SELECT FROM_UNIXTIME(1547430881); //output 2019-01-14 07:24:41
c) UNIX_TIMESTAMP
Tato funkce se používá k převodu daného datového času MySQL na časové razítko UNIX.
SELECT UNIX_TIMESTAMP('2020-03-15 07:10:56.123') //output 1584236456.123
Časové razítko UNIX je reprezentace daného data ve formě sekund uplynulých od 1. ledna 1970, UTC.
>> Viz tady pro více informací o časovém razítku UNIX.
# 4) Načítání konkrétních částí sloupců DateTime
Občas je žádoucí načíst konkrétní část hodnoty data pro hodnotu pole datetime v tabulce. Například , Předpokládejme, že chcete počítat č. objednávek a seskupte je podle dne, týdne, měsíce atd.
A obecně řečeno, tyto hodnoty nejsou v tabulce uloženy jako samostatné sloupce - například, měli byste jen jeden sloupec jako - created_on, což by bylo pole datetime a neměli byste samostatné sloupce jako - datum, měsíc, rok atd.
MySQL poskytuje mnoho užitečných metod, kde můžete extrahovat požadovanou část z pole DateTime.
Předpokládejme, že máme hodnotu datetime jako - „2020-03-15 07:10: 56.123“
Podívejme se na některé z často používaných funkcí s příklady pomocí výše uvedené hodnoty datetime.
a) Výpis DEN
MySQL poskytuje následující funkce pro extrahování DENNÍCH informací:
DATUM() - Extrahujte část DATE () pole DateTime.
jaký je nejlepší kompilátor c ++
SELECT DATE('2020-03-15 07:10:56.123'); //output 2020-03-15
DAYOFMONTH () - Extrahujte DENNÍ část datetime. Je to v podstatě den v měsíci. Zkratka pro použití této funkce je DAY ()
SELECT DAYOFMONTH('2020-03-15 07:10:56.123'); //output 15
DEN V TÝDNU () - Extrahuje index odpovídající dni v týdnu - hodnoty mezi 1 až 7.
SELECT DAYOFWEEK('2020-03-15 07:10:56.123'); //output 1
DAYOFYEAR () - Extrahuje den, pokud jde o č. dní uplynulo za rok. Hodnoty se pohybují mezi 1 a 365 (nebo 366, pokud se jedná o přestupný rok).
SELECT DAYOFYEAR('2020-03-15 07:10:56.123'); //output 75
DAYNAME () - Extrahuje název dne s hodnotami od pondělí do neděle.
SELECT DAYNAME('2020-03-15 07:10:56.123'); //output Sunday
b) Extrahujte ČAS
MySQL poskytuje následující funkce k extrakci hodnot TIME:
ČAS() - Extrahuje časovou část ve formátu hh: mm: ss (se zlomkovou sekundou, pokud je k dispozici).
SELECT TIME('2020-03-15 07:10:56.123'); //output '07:10:56.123'
HODINA () - Extrahuje hodinovou část pole / hodnoty - hodnoty v rozmezí 1-24.
SELECT HOUR('2020-03-15 07:10:56.123'); //output 7
MINUTA() - Extrahuje minutovou část daného datetime - hodnoty v rozmezí 1-60.
SELECT MINUTE('2020-03-15 07:10:56.123'); //output 10
DRUHÝ() - Extrahuje sekundovou část daného datetime - hodnoty v rozmezí 1-60.
SELECT SECOND('2020-03-15 07:10:56.123'); //output 56
MICROSECOND () - Extrahuje mikrosekundovou část daného DateTime.
SELECT MICROSECOND('2020-03-15 07:10:56.123'); //output 123000
c) Extrahujte MĚSÍC
MĚSÍC() - Extrahuje měsíční index. Hodnoty v rozmezí 1 - 12.
SELECT MONTH('2020-03-15 07:10:56.123'); //output 3
MĚSÍC () - Extrahuje název měsíce. Hodnoty se pohybují od ledna do prosince.
SELECT MONTHNAME('2020-03-15 07:10:56.123'); //output March
d) Extrahujte TÝDEN, ROK a ČTVRTLETÍ
TÝDEN() - Extrahuje TÝDEN roku pro danou hodnotu DateTime.
SELECT WEEK('2020-03-15 07:10:56.123'); //output 11
YEAR () - Extrahuje ROKovou část data.
SELECT YEAR('2020-03-15 07:10:56.123'); //output 2020
ČTVRŤÁK() - Extrahuje čtvrtletí s ohledem na rok. Hodnoty v rozmezí 1 až 4.
SELECT QUARTER('2020-03-15 07:10:56.123'); //output 1
Všechny tyto výše uvedené metody se většinou používají pro analýzu dat a vytváření předpovědí - například, které dny v měsíci byly ne. nejvyšší objednávky atd.
# 5) Nalezení rozdílu mezi 2 daty
Abychom našli rozdíl mezi 2 danými hodnotami pole datetime, MySQL poskytuje funkce DATEDIFF () & TIMEDIFF ().
a) DATEDIFF ()
Vrátí rozdíl mezi 2 hodnotami DateTime (nebo date) za žádný den.
Syntax:
DATEDIFF(DateTime1, DateTIme2)
Podívejme se na několik příkladů funkce DATEDIFF ():
DATEDIFF () používá vstupy DateTime.
SELECT DATEDIFF('2020-01-05 12:11:11.11', '2020-01-03 14:11:11') //output 2
DATEDIFF () pomocí datových vstupů.
SELECT DATEDIFF('2020-04-02', '2020-01-04') //output 89
DATEDIFF () s použitím datových vstupů se záporným výstupem.
SELECT DATEDIFF('2020-04-02', '2020-04-05') //output -3
b) TIMEDIFF ()
Tato funkce vrací rozdíl mezi 2 hodnotami datetime (nebo času) vyjádřenými v „hh: mm: ss“ s volitelnou zlomkovou částí v závislosti na vstupu, kterým byla funkce TIMEDIFF () volána.
Syntax:
TIMEDIFF(DateTime1, DateTIme2)
Podle výše uvedené syntaxe bude výsledek funkce TIMEDIFF () časově specifikován jako „hh: mm: ss“ pro výraz => DateTime1 - DateTIme2
Vezměte prosím na vědomí, že,
- Expression 1 i Expression2 jsou stejného typu - tj. Jeden datetime, druhý právě včas, vrátí hodnotu NULL.
- Výraz 1 a výraz 2 nemohou být jen data. Příklad: DATEDIFF (2020-01-01, 2020-02-01) vrátí NULL.
Podívejme se na několik příkladů pro funkci TIMEDIFF ():
TIMEDIFF () pomocí vstupů DateTime.
SELECT TIMEDIFF('2020-01-4 12:11:11.11', '2020-01-03 12:11:11') //output 24:00:00.11
TIMEDIFF () pomocí časových vstupů.
SELECT TIMEDIFF('12:11:11.11', '02:12:11') //output 09:59:00.11
TIMEDIFF () vrací záporný výstup.
SELECT TIMEDIFF('2020-01-01 12:11:11.11', '2020-01-03 12:11:11') //output -47:59:59.89
Vezměte prosím na vědomí, že jak DATEDIFF (), tak TIMEDIFF () mohou vrátit NEGATIVNÍ hodnoty, kdykoli je první argument menší než druhý - tj. první argument je starší hodnotou dateTime ve srovnání s druhým.
# 6) Formátování dat
Funkce DATE_FORMAT () převádí datum v daném formátu.
Například: Převod požadovaného data ve formátu mm / rrrr.
SELECT DATE_FORMAT('2020-03-15 07:10:56.123', '%m/%Y'); //output 03/2020
Podívejme se na několik běžných konvencí pro použití specifikátorů formátu:
Formát | Popis |
---|---|
% Y | Hodnota roku - 4 číslice |
% Y | Hodnota roku - 2 číslice |
% M | Název měsíce jako - leden, únor |
% m | Název měsíce - číselný |
% d | Den v měsíci |
% h | Hodina - 00 - 12 |
% i | Minut |
% S | Sekundy |
V závislosti na požadavku lze použít tyto specifikátory formátu a MySQL DateTime lze převést do požadovaného formátu.
Příklad: Převod do formátu dd / mm / rrrr lze určit jako:
SELECT DATE_FORMAT('2020-03-15 07:10:56.123', '%d/%m/%Y'); //output 15/03/2020
>> Viz tady pro úplný seznam specifikátorů formátu podporovaných MySQL.
Často kladené otázky
Otázka č. 1) Jak můžeme změnit roční část uloženého data v MySQL?
Odpovědět: Abychom mohli aktualizovat hodnotu roku na konkrétní číslo pro dané datum, můžeme použít DATE_ADD a přidejte rozdíl mezi aktuálním rokem data a rokem, který chceme změnit.
Například: Předpokládejme, že máme datum „2020-03-15 07: 10: 56.123“ a chceme jen změnit část roku na rok do roku 2018. Abychom to mohli udělat,
- Nejprve můžeme najít rozdíl mezi rokem, který má být aktualizován, a skutečným rokem data. Toho lze dosáhnout pomocí funkce ROK.
SELECT (2018 - year('2020-03-15 07:10:56.123')) //output -2
- Nyní můžeme tento -2 přidat jako roční interval pomocí funkce DATE_ADD.
SELECT DATE_ADD('2020-03-15 07:10:56.123', INTERVAL -2 year) //output 2018-03-15 07:10:56.123000
Nahoře vidíte, že jsme právě změnili rokovou část data.
Stejnou sadu kroků lze použít, když existuje požadavek na změnu konkrétní části data. Příklad: Měsíc, den atd.
Otázka č. 2) Jak změnit datetime v požadovaném formátu v MySQL?
jak používat arrays.sort v Javě
Odpovědět: MySQL poskytuje funkci DATE_FORMAT () pro převod datetime v požadovaném formátovaném řetězci pro zobrazení ve výsledcích dotazu.
>> Viz tady pro úplný seznam specifikátorů formátu.
Příklad: Pro převod datetime na formát - dd: mm: rrrr můžete použít následující dotaz:
SELECT DATE_FORMAT('2020-03-15 07:10:56.123', '%d:%m:%Y');
Otázka č. 3) Jaký je formát data v MySQL?
Odpovědět: Standardní formát data v MySQL je „dd-mm-rrrr hh: mm: ss. { zlomková část }
Ukázková hodnota datetime uložená v MySQL - „2020-03-15 07:10: 56.123“
Otázka č. 4) Jak vytvořit tabulku s datovým typem DATE v MySQL.
Odpovědět: MySQL poskytuje různé datové typy pro ukládání hodnot data a času podle potřeby. Jen pro ukládání dat - lze použít datový typ DATE. Ukládá data ve formátu rrrr-mm-dd.
Podívejme se na příklad zadání sloupce jako typu DATE:
CREATE TABLE date_illustration(date_col DATE);
Závěr
V tomto tutoriálu jsme se dozvěděli o různých datových typech poskytovaných MySQL pro ukládání hodnot data a času a o tom, jak lze k provádění výpočtů hodnot data a času využít různé snadno použitelné funkce poskytované MySQL.
Dozvěděli jsme se také o různých funkcích, jako je extrahování konkrétních částí dané hodnoty DateTime, převod daného data do jiné formy, přidání hodnot data / času k existujícím hodnotám atd.
DateTime je jedním z nejdůležitějších datových typů v MySQL a má velký význam pro načítání podrobností, když došlo k události.
Tyto hodnoty jsou velmi široce používány datovými analytiky / strojovým učením / cenovými modely atd., Kde je prováděno velké množství dat a dělení dat za účelem přípravy modelů strojového učení a přijímání kritických obchodních rozhodnutí.
Doporučené čtení
- C # DateTime Tutorial: Práce s datem a časem v C # s příkladem
- Formát PL SQL Datetime: Funkce data a času v PL / SQL
- Výukový program Python DateTime s příklady
- Funkce data a času v C ++ s příklady
- MySQL Create View Tutorial s příklady kódu
- MySQL Vložit do tabulky - Vložit syntaxi výpisu a příklady
- MySQL Vytvoření výukové tabulky s příklady
- Prohlášení o odstranění MySQL - odstranění syntaxe příkazu a příkladů