mysql date format timestamp functions with examples
Tento komplexný výukový program ponúka syntax a príklady funkcií MySQL Date Format a Timestamp, ako je aktuálny dátum, pridanie dátumu, pridanie času atď .:
V tomto výučbe sa dozvieme podrobné informácie o dátových typoch MySQL Dátum a čas a o rôznych funkciách, ktoré poskytuje MySQL na manipuláciu s hodnotami dátumu a času.
MySQL poskytuje skvelú sadu funkcií / nástrojov na vykonávanie rôznych operácií, ako je pridávanie a odčítanie dátumov, zisťovanie rozdielov medzi 2 dátumami a extrahovanie konkrétnych častí danej hodnoty dátumu a času.
Čo sa dozviete:
- Formát dátumu a času MySQL
- Záver
Formát dátumu a času MySQL
Tieto funkcie sú veľmi dôležité, kedykoľvek sú v tabuľkách MySQL vyžadované akékoľvek operácie s hodnotami stĺpca dátumu a času.
Predbežné požiadavky
Na spustenie príkladov použitých v tejto príručke budete potrebovať lokálne nastavenie inštalácie MySQL.
= >> Inštaláciu MySQL nájdete v našom výučbe tu.
Dátové typy DÁTUM A ČAS
Dátové typy zahŕňajú YEAR, DATE, TIME, DATETIME a TIMESTAMP.
MySQL ukladá hodnoty dátumu a času pomocou 5 rôznych dátových typov, tj. YEAR, DATE, TIME, DATETIME a TIMESTAMP. Pokúsme sa im v krátkosti porozumieť v nasledujúcej tabuľke, skôr ako sa ponoríme hlbšie do DATE FORMATS a DATETIME FUNCTIONS poskytovaných MySQL.
Typ | Syntax | Rozsah | Pamäť | Formát |
---|---|---|---|---|
% H | Hodina - 00 - 23 | |||
ROK | Slúži na uloženie iba ročnej časti colName ROK | 1901 - 2155 | 1 | „RRRR“ |
DÁTUM | Používa sa na uloženie iba časti DATE. colName DÁTUM | „1000-01-01“ až „9999-12-31“ | 3 | „RRRR-MM-DD“ |
TIME | Slúži na uloženie iba TIME časti. colName TIME colName TIME (n) n -> presnosť alebo zlomková zložka | „00: 00: 00“ až „23: 59: 59“ | 3 + frakčnéUloženie | „Hh: mm: ss. (Zlomok)“ |
DÁTUM ČAS | Používa sa na ukladanie DATE aj TIME colName DÁTUM ČAS colName DATETIME (n) n -> presnosť alebo zlomková zložka | „1000-01-01 00: 00: 00.000000“ až „9999-12-31 23: 59: 59,999999“ | 5 + frakčnéUloženie | „RRRR-MM-DD hh: mm: ss. (Zlomok)“ |
ČASOVÁ ZNAČKA | Používa sa na ukladanie DATE aj TIME colName ČASOVÁ ZNAČKA colName TIMESTAMP (n) n -> presnosť alebo zlomková zložka | „1970-01-01 00:00:01“ UTC do „2038-01-19 03:14:07“ UTC. | 4 + frakčnéUloženie | „RRRR-MM-DD hh: mm: ss. (Zlomok)“ |
Teraz pochopíme požiadavky na pamäť pre frakčné úložisko. Pre dátové typy TIME, DATETIME a TIMESTAMP v závislosti od zadaného zlomkového komponentu by sa spotrebovaná pamäť líšila.
Počet zlomkov | Pamäť (v bajtoch) |
---|---|
0 | 0 |
1-2 | 1 |
3-4 | dva |
5-6 | 3 |
Pomocou vyššie uvedenej tabuľky napríklad, ak máme typ stĺpca ako - TIME (5).
Potom by celková použitá pamäť bola => pamäť použitá dátovým typom TIME + pamäť použitá 5 zlomkovým komponentom => 3 + 3 => 6 bajtov
Poďme si ilustrovať všetky tieto typy údajov ako súčasť jednej tabuľky a pozrieť sa na hodnoty, ktoré sú priradené každému z týchto typov.
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 riadok do tabuľky pomocou funkcie ‘now ()’, ktorá je aktuálnou časovou známkou. Všimnite si, ako by použitie tejto funkcie viedlo k orezaniu / vloženiu iba požadovanej časti aktuálneho dátumu a času, v závislosti od dátového typu stĺpca.
insert into datetime_illustration values (now(), now(), now(), now(), now(), now(), now(), now()); select * from datetime_illustration
Teraz sa pozrime na obsah tabuľky a analyzujeme údaje v rôznych stĺpcoch.
select * from datetime_illustration
Takže zhrnieme vyššie uvedené údaje ako,
- Všetky stĺpce dostali priradené hodnoty podľa dátových typov, napríklad, pre prvý stĺpec - YEAR - hoci sme vložili funkciu „now ()“, ktorá je aktuálnou časovou známkou, hodnota, ktorá sa vložila, je iba ročná časť aktuálneho dátumu a času - t. j. 2020.
- funkcia now () vráti aktuálny dátum a čas vo formáte - dd: mm: rrrr hh: mm: ss
- Všimnite si, že zlomková časť v názvoch stĺpcov má ‘_fractional’. V závislosti od počtu zadaných zlomkových číslic sa zlomkové hodnoty zachytia a zobrazia.
Automatická inicializácia a aktualizácia polí DATETIME a TIMESTAMP
V scenároch z reálneho života sú inicializácia a aktualizácie DATETIME väčšinou nakonfigurované tak, aby boli automatické.
To znamená, že tabuľky majú zvyčajne 2 stĺpce, napríklad - created_time a updated_time .
stĺpec created_time je nakonfigurovaný tak, aby zohľadňoval hodnotu aktuálneho systémového času vždy, keď je vložený riadok, a podobne updated_time je nakonfigurovaný tak, aby bral aktuálny systémový čas, kedykoľvek sú vykonané nejaké aktualizácie v konkrétnom riadku tabuľky.
Vezmite prosím na vedomie, že, počas vkladania riadkov budú mať hodnoty created_time aj updated_time rovnakú hodnotu. Všetky nasledujúce aktualizácie riadku by mali za následok aktualizáciu poľa updated_time o aktuálny systémový čas.
Skúsme vytvoriť jednu takúto tabuľku, ktorá má automatickú inicializáciu aj aktualizáciu.
Vytvoríme tabuľku s názvom cena akcií ktorá má polia symbol akcií, cena a dátum 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 niektoré údaje do tabuľky:
insert into stock_price(symbol,price) values('AMZN','3000.10');
Pozrime sa na výsledok (všimnite si, že sme práve zadali hodnoty pre symbol a cenu - mali by sa automaticky inicializovať stĺpce datetime, created_on a updated_on)
select * from stock_price
kde je bezpecnostny kluc siete?
Pokúste sa aktualizovať cenu akcií pre akcie „AMZN“, ako je uvedené nižšie:
update stock_price set price='3005.15' where symbol='AMZN'
A teraz znova načítajte údaje pre tabuľku. Mali by sme vidieť, ako sa hodnota aktualizovaného času mení, na akýkoľvek čas, kedy došlo k aktualizácii akciovej ceny.
select * from stock_price
Z vyššie uvedeného príkladu si teraz môžete všimnúť, že hodnota stĺpca updated_on bola aktualizovaná na časovú značku aktualizácie.
Funkcie dátumu a času MySQL
MySQL poskytuje množstvo funkcií pre stĺpce, ktoré majú dátové typy súvisiace s dátumom a časom.
Tieto funkcie sa zvyčajne používajú na,
- Pri vyhľadávaní údajov preveďte uložený dátum na požadovaný formát.
- Manipulácia s existujúcimi poľami dátumu a času, napríklad pridanie intervalu k aktuálnej hodnote stĺpca, odpočítanie hodín od aktuálnych nastavených hodnôt atď.
- Extrahovanie konkrétnych informácií z uložených hodnôt, napríklad, extrahovanie iba časti „dátum“ z uloženej hodnoty a ďalšie filtrovanie / operácie, ako napríklad SKUPINA PODĽA s dátumom a pod.
V tejto časti uvidíme príklady najčastejšie používaných funkcií dátumu a času.
>> Refer tu pre úplný zoznam takýchto funkcií.
# 1) Získanie aktuálneho dátumu a času
MySQL poskytuje veľa užitočných funkcií / konštantných hodnôt na načítanie aktuálnych hodnôt dátumu a času a zvyčajne sa používa pri ukladaní hodnôt do stĺpcov datetime a načítaní v konkrétnom rozsahu od aktuálnych hodnôt dátumu a času.
a) curdate ()
Táto funkcia získa aktuálny dátum. Ostatné synonymá funkcie curdate () sú - CURRENT_DATE, CURRENT_DATE (), CURRENT_DATE ( zlomkové číslice )
Príklad tejto funkcie je uvedený nižšie:
select curdate(), CURRENT_DATE(), CURRENT_DATE
b) čas ()
Táto funkcia získa aktuálny čas. Ak chcete získať zlomkovú časť (až 6 číslic), zadajte zlomok v zátvorke ako čas (3). To by prinieslo aktuálnu hodnotu systémového času až na 3 desatinné miesta.
Ostatné synonymá funkcie curtime () sú - CURRENT_TIME, CURRENT_TIME (), CURRENT_TIME ( zlomkové číslice )
select curtime(), CURRENT_TIME(), CURRENT_TIME, curtime(6), CURRENT_TIME(6)
c) teraz ()
Táto funkcia získa aktuálnu časovú pečiatku. V zátvorke uveďte zlomkovú časť, napríklad, teraz (4) by načítal aktuálnu časovú pečiatku až na 4 desatinné miesta.
Medzi ďalšie synonymá funkcie now () patria CURRENT_TIMESTAMP, CURRENT_TIMESTAMP (), CURRENT_TIMESTAMP ( zlomkové číslice )
select now(), CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP, now(6), CURRENT_TIMESTAMP(6)
# 2) Sčítanie a odčítanie dátumov
MySQL poskytuje funkcie na pridávanie a odčítanie hodnôt dátumu a času k existujúcej hodnote uloženej v stĺpci alebo na použitie pri dopytovaní údajov. Funkciám porozumieme pomocou príkladov.
Nasledujúcu tabuľku použijeme na vykonanie sčítania dátumu a času k odčítaniu.
create table datetime_calc(datecol DATE, timecol TIME, datetimecol DATETIME(6));
Vložte niektoré položky do tabuľky vyššie pomocou príkazov INSERT, ako je uvedené nižšie:
insert into datetime_calc values(now(), now(), now(6)); insert into datetime_calc values(now(), now(), now(6));
Pozrime sa na vyššie uvedenú tabuľku a pozrite si uložené údaje:
Okrem aktualizácie stĺpcov v tabuľke môžeme priamo vykonať manipuláciu s datetime pomocou príkazu SELECT aplikáciou na akýkoľvek konkrétny dátum / čas alebo hodnotu datetime.
a) PRIDAŤ ()
Ako naznačuje názov, táto funkcia sa používa na pridanie dátumu k existujúcej hodnote dátumu, ktorá môže byť typu - DATE, DATETIME alebo TIMESTAMP.
Syntax:
ADDDATE(inputTimeValue/fieldName, noOfDays)
ADDDATE možno volať aj s hodnotou intervalu - čo môže byť DENY, TÝŽDEŇ, HODINU, MINÚTU, DRUHÝ atd.
Syntax by sa v takom prípade zmenila na,
ADDDATE(inputTimeValue/fieldName, Interval intervalUnit)
Pozrime sa na niekoľko príkladov, aby sme tomu lepšie porozumeli.
SELECT ADDDATE('2020-08-15', 31); // output '2020-09-15'
Keď sa ako druhý argument zadá celočíselná hodnota, považuje sa to za počet dní, ktoré sa majú pridať k danému dátumu.
Niektoré ďalšie príklady s intervalom ako - MESIAC, HODINA a TÝŽDEŇ sú:
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
Ďalšie príklady intervalov môžu byť - MINUTE, SECOND, QUARTER atď.
Na aktualizáciu stĺpca existujúcej tabuľky napríklad, pre tabuľku, ktorú sme vytvorili „datetime_calc“, ak chceme aktualizovať hodnotu „datecol“ a pridať k všetkým dátumom v stĺpci 10 dní, môžeme použiť dotaz uvedený nižšie:
update datetime_calc set datecol=ADDDATE(datecol, 30);
Teraz použite SELECT * na zobrazenie všetkých údajov v tabuľke datetime_calc.
SELECT * FROM datetime_calc
Vo vyššie uvedenom výstupe vidíme, že hodnoty stĺpca datecol boli aktualizované na 24-09-2020 od 25-08-2020 po pridaní 30 dní k existujúcim hodnotám.
b) ADDTIME ()
Podobne ako v prípade ADD_DATE je možné pomocou funkcie ADD_TIME pridať časovú zložku do existujúceho stĺpca / poľa DATETIME, TIME alebo TIMESTAMP alebo zadaného vstupu.
Syntax:
ADDTIME(inputTimeValue/fieldName, ‘hh:mm:ss’)
Príklad:
SELECT ADDTIME('2020-01-02 12:11:11', '01:10:00'); // output 2020-01-02 13:21:11
Pozrime sa na príklad, keď aktualizujeme stĺpec datetime v tabuľke pridaním 5 hodín ku všetkým hodnotám v tomto stĺpci. Tu je príklad dotazu:
update datetime_calc set datetimecol=ADDTIME(datetimecol, '05:00:00')
Výstup tabuľky pred:
// output '2020-08-25 05:53:37.851379' '2020-08-25 05:53:39.711515'
Výstup tabuľky po:
// output '2020-08-25 10:53:37.851379' '2020-08-25 10:53:39.711515'
c) SUBDATE ()
SUBDATE je úplne podobný ADDDATE, jediný rozdiel je, SUBDATE odčíta daný interval / číslo. dní od hodnoty stĺpca / poľa.
Syntax:
SUBDATE(inputTimeValue/fieldName, noOfDays)
Pozrime sa na pár príkladov na ilustráciu funkcie SUBDATE ().
SELECT SUBDATE('2020-08-15', 31); // output 2020-07-15
Nasledujúci príklad ukazuje odpočítanie intervalu uvedeného v hodinách / dňoch v týždni atď.
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 odčíta časovú hodnotu uvedenú v „hh: mm: ss“ od danej hodnoty dátumu a času alebo časového poľa.
Syntax:
SUBTIME(inputTimeValue/fieldName, ‘hh:mm:ss’)
Príklady funkcie SUBTIME ():
SELECT SUBTIME('2020-01-02 12:11:11', '02:20:05'); // output 2020-01-02 09:51:06
# 3) Konverzia dátumov
MySQL poskytuje celý rad zabudovaných funkcií od prevodu dátumov z jedného formátu do druhého. Pozrime sa na najbežnejšie používané funkcie na prevod dátumov.
a) CONVERT_TZ ()
Táto funkcia sa používa na prevod dátumu z jedného časového pásma do druhého. Tieto sa hodia v situáciách, keď predpokladáme, že vaše údaje boli uložené v časovom pásme UTC a pri zobrazovaní ich chcete previesť na časové pásmo podľa vášho výberu.
Napríklad, prevádzať UTC na MET (stredoeurópsky čas).
SELECT CONVERT_TZ('2004-01-01 12:00:00', 'UTC', 'MET');
Tipy / poznámky
# 1) Ak chcete získať zoznam všetkých časových pásiem v databáze systému MySQL, môžete spustiť nasledujúci dotaz a na konverziu z jedného časového pásma do druhého použiť ľubovoľný názov časového pásma.
select * from mysql.time_zone_name
#dva) Informácie o časovom pásme sa vyplnia počas inštalácie inštancie servera MySQL. Ak je výsledok vyššie uvedeného dotazu NULL, potom možno budete musieť najskôr vyplniť hodnoty časových pásiem v systémových tabuľkách MySQL.
>> Postupujte podľa tohto odkaz o ďalšiu pomoc v tejto veci.
b) FROM_UNIXTIME ()
Táto funkcia sa používa na prevod daného UNIX TIMESTAMP do formátu MySQL datetime.
SELECT FROM_UNIXTIME(1547430881); //output 2019-01-14 07:24:41
c) UNIX_TIMESTAMP
Táto funkcia sa používa na prevod daného času MySQL na časovú značku UNIX.
SELECT UNIX_TIMESTAMP('2020-03-15 07:10:56.123') //output 1584236456.123
UNIX timestamp je reprezentácia daného dátumu vo forme sekúnd uplynulých od 1. januára 1970, UTC.
>> Refer tu pre viac informácií o časovej pečiatke UNIX.
# 4) Načítanie konkrétnych častí stĺpcov DateTime
Niekedy je žiaduce načítať konkrétnu časť hodnoty dátumu pre hodnotu poľa datetime v tabuľke. Napríklad , predpokladajme, že chcete počítať číslo objednávok a zoskupiť ich podľa dňa, týždňa, mesiaca atď.
Tieto hodnoty sa všeobecne neukladajú ako samostatné stĺpce v tabuľke - napríklad, mali by ste iba jeden stĺpec ako - created_on, čo by bolo pole datetime a nemalo by samostatné stĺpce ako - dátum, mesiac, rok atď.
MySQL poskytuje veľa užitočných metód, kde môžete extrahovať požadovanú časť z poľa DateTime.
Predpokladajme, že máme hodnotu datetime ako - „2020-03-15 07:10: 56.123“
Pozrime sa na niektoré z často používaných funkcií pomocou príkladov pomocou vyššie uvedenej hodnoty času a času.
a) Výpis DEŇ
MySQL poskytuje nasledujúce funkcie na extrahovanie DAY informácií:
DÁTUM() - Extrahujte časť DATE () poľa DateTime.
otázky a odpovede na agilné testovacie pohovory
SELECT DATE('2020-03-15 07:10:56.123'); //output 2020-03-15
DAYOFMONTH () - Extrahujte DAY časť datetime. Je to v podstate deň v mesiaci. Skratka na použitie tejto funkcie je DAY ()
SELECT DAYOFMONTH('2020-03-15 07:10:56.123'); //output 15
DEŇ V TÝŽDNI () - Extrahuje index zodpovedajúci dňu v týždni - hodnoty od 1 do 7.
SELECT DAYOFWEEK('2020-03-15 07:10:56.123'); //output 1
DAYOFYEAR () - Extrahuje deň v zmysle č. dní prešlo za rok. Hodnoty sa pohybujú medzi 1 a 365 (alebo 366, ak je to priestupný rok).
SELECT DAYOFYEAR('2020-03-15 07:10:56.123'); //output 75
DAYNAME () - Extrahuje názov dňa s hodnotami od pondelka do nedele.
SELECT DAYNAME('2020-03-15 07:10:56.123'); //output Sunday
b) Extrahujte ČAS
MySQL poskytuje na extrahovanie TIME hodnôt nasledujúce funkcie:
TIME () - Extrahuje časovú časť vo formáte hh: mm: ss (so zlomkom sekundy, ak je k dispozícii).
SELECT TIME('2020-03-15 07:10:56.123'); //output '07:10:56.123'
HODINA () - Extrahuje hodinovú časť poľa / hodnoty - hodnoty sa pohybujú medzi 1-24.
SELECT HOUR('2020-03-15 07:10:56.123'); //output 7
MINUTA () - Extrahuje minútovú časť daného datetime - hodnoty v rozmedzí od 1 do 60.
SELECT MINUTE('2020-03-15 07:10:56.123'); //output 10
DRUHÉ () - Extrahuje sekundovú časť daného datetime - hodnoty v rozmedzí od 1 do 60.
SELECT SECOND('2020-03-15 07:10:56.123'); //output 56
MICROSECOND () - Extrahuje mikrosekundovú časť daného DateTime.
SELECT MICROSECOND('2020-03-15 07:10:56.123'); //output 123000
c) Extrahujte MESIAC
MESIAC () - Extrahuje mesačný index. Hodnoty sa pohybujú medzi 1 - 12.
SELECT MONTH('2020-03-15 07:10:56.123'); //output 3
MONTHNAME () - Extrahuje názov mesiaca. Hodnoty sa pohybujú od januára do decembra.
SELECT MONTHNAME('2020-03-15 07:10:56.123'); //output March
d) Extrahujte TÝŽDEŇ, ROK a ŠTVRŤROK
TÝŽDEŇ () - Extrahuje TÝŽDEŇ roka pre danú hodnotu DateTime.
SELECT WEEK('2020-03-15 07:10:56.123'); //output 11
YEAR () - Extrahuje ROKOVÚ časť dátumu.
SELECT YEAR('2020-03-15 07:10:56.123'); //output 2020
ŠTVRŤROK () - Extrahuje štvrťrok vzhľadom na rok. Hodnoty sa pohybujú od 1 do 4.
SELECT QUARTER('2020-03-15 07:10:56.123'); //output 1
Všetky tieto vyššie uvedené metódy sa väčšinou používajú na analýzu údajov a vytváranie predpovedí - napríklad, ktoré dni v mesiaci boli č. najvyšších objednávok atď.
# 5) Nájdenie rozdielu medzi 2 dátumami
Aby bolo možné nájsť rozdiel medzi 2 danými hodnotami poľa datetime, MySQL poskytuje funkcie DATEDIFF () & TIMEDIFF ().
a) DATEDIFF ()
Vráti rozdiel medzi 2 hodnotami DateTime (alebo date) za počet dní.
Syntax:
DATEDIFF(DateTime1, DateTIme2)
Pozrime sa na niekoľko príkladov funkcie DATEDIFF ():
DATEDIFF () používa vstupy DateTime.
SELECT DATEDIFF('2020-01-05 12:11:11.11', '2020-01-03 14:11:11') //output 2
DATEDIFF () pomocou vstupov dátumu.
SELECT DATEDIFF('2020-04-02', '2020-01-04') //output 89
DATEDIFF () pomocou vstupov dátumu so záporným výstupom.
SELECT DATEDIFF('2020-04-02', '2020-04-05') //output -3
b) TIMEDIFF ()
Táto funkcia vracia rozdiel medzi 2 hodnotami datetime (alebo času) vyjadrenými v ‘hh: mm: ss’ s voliteľnou zlomkovou časťou v závislosti od vstupu, s ktorým bola volaná funkcia TIMEDIFF ().
Syntax:
TIMEDIFF(DateTime1, DateTIme2)
Podľa vyššie uvedenej syntaxe bude výsledkom funkcie TIMEDIFF () čas zadaný ako „hh: mm: ss“ pre výraz => DateTime1 - DateTIme2
Vezmite prosím na vedomie, že,
- Výraz 1 aj výraz 2 sú rovnakého typu - tj. Jeden dátum a čas, druhý v pravý čas, vráti hodnotu NULL.
- Výraz 1 a výraz 2 nemôžu byť iba dátumy. Príklad: DATEDIFF (2020-01-01, 2020-02-01) vráti NULL.
Pozrime sa na niekoľko príkladov funkcie TIMEDIFF ():
TIMEDIFF () pomocou vstupov DateTime.
SELECT TIMEDIFF('2020-01-4 12:11:11.11', '2020-01-03 12:11:11') //output 24:00:00.11
TIMEDIFF () pomocou časových vstupov.
SELECT TIMEDIFF('12:11:11.11', '02:12:11') //output 09:59:00.11
TIMEDIFF () vracajúci záporný výstup.
SELECT TIMEDIFF('2020-01-01 12:11:11.11', '2020-01-03 12:11:11') //output -47:59:59.89
Vezmite prosím na vedomie, že DATEDIFF () aj TIMEDIFF () môžu vrátiť NEGATÍVNE hodnoty vždy, keď je prvý argument menší ako druhý - tj. prvý argument je v porovnaní s druhým argumentom staršia hodnota dateTime.
# 6) Formátovanie dátumov
Funkcia DATE_FORMAT () prevádza dátum v danom formáte.
Napríklad: Prevod požadovaného dátumu vo formáte mm / rrrr.
SELECT DATE_FORMAT('2020-03-15 07:10:56.123', '%m/%Y'); //output 03/2020
Pozrime sa na niektoré bežné konvencie používania špecifikátorov formátu:
Formát | Popis |
---|---|
% Y | Hodnota roku - 4 číslice |
% Y | Hodnota roku - 2 číslice |
% M | Názov mesiaca - január, február |
% m | Názov mesiaca - číselný |
% d | Deň v mesiaci |
% h | Hodina - 00 - 12 |
% i | Zápisnice |
% S | Sekúnd |
V závislosti na požiadavke je možné použiť tieto špecifikátory formátu a MySQL DateTime možno previesť do požadovaného formátu.
Príklad: Prevod do formátu dd / mm / rrrr možno určiť ako:
SELECT DATE_FORMAT('2020-03-15 07:10:56.123', '%d/%m/%Y'); //output 15/03/2020
>> Refer tu pre kompletný zoznam špecifikátorov formátu podporovaných MySQL.
často kladené otázky
Otázka č. 1) Ako môžeme zmeniť ročnú časť uloženého dátumu v MySQL?
Odpoveď: Na aktualizáciu hodnoty roku na konkrétne číslo pre daný dátum môžeme použiť DATE_ADD a pridajte rozdiel medzi aktuálnym dátumom a rokom, ktorý chceme zmeniť.
Napríklad: Predpokladajme, že máme dátum ‘2020-03-15 07:10: 56.123’ a chceme iba zmeniť ročnú časť dátumu na rok 2018. Aby sme to dosiahli,
- Najprv môžeme nájsť rozdiel medzi rokom, ktorý sa má aktualizovať, a skutočným rokom dátumu. To by sa dalo dosiahnuť pomocou funkcie ROK.
SELECT (2018 - year('2020-03-15 07:10:56.123')) //output -2
- Teraz môžeme túto -2 pridať ako ročný interval pomocou funkcie DATE_ADD.
SELECT DATE_ADD('2020-03-15 07:10:56.123', INTERVAL -2 year) //output 2018-03-15 07:10:56.123000
Vyššie vidíte, že sme práve zmenili rokovú časť dátumu.
Rovnakú sadu krokov je možné použiť, ak existuje požiadavka na zmenu konkrétnej časti dátumu. Príklad: Mesiac, Deň atď.
Otázka 2) Ako zmeniť dátum a čas v požadovanom formáte v MySQL?
čo je testovanie automatizácie pri testovaní softvéru
Odpoveď: MySQL poskytuje funkciu DATE_FORMAT () na prevod času a času v požadovanom formátovanom reťazci na zobrazenie vo výsledkoch dotazu.
>> Refer tu pre kompletný zoznam špecifikátorov formátu.
Príklad: Na prevod dátumu a času na formát - dd: mm: rrrr môžete použiť nasledujúci dotaz:
SELECT DATE_FORMAT('2020-03-15 07:10:56.123', '%d:%m:%Y');
Otázka č. 3) Aký je formát dátumu v MySQL?
Odpoveď: Štandardný formát dátumu v MySQL je „dd-mm-rrrr hh: mm: ss. { zlomková časť }
Ukážka hodnoty času a času uložená v MySQL - „2020-03-15 07:10: 56.123“
Otázka č. 4) Ako vytvoriť tabuľku s dátovým typom DATE v MySQL.
Odpoveď: MySQL poskytuje rôzne typy údajov na ukladanie hodnôt dátumu a času podľa potreby. Len na ukladanie dátumov - možno použiť dátový typ DATE. Ukladá údaje vo formáte rrrr-mm-dd.
Pozrime sa na príklad zadania stĺpca ako typu DATE:
CREATE TABLE date_illustration(date_col DATE);
Záver
V tomto výučbe sme sa dozvedeli o rôznych dátových typoch, ktoré poskytuje MySQL na ukladanie hodnôt dátumu a času, a o tom, ako možno rôzne ľahko použiteľné funkcie poskytované MySQL využiť na vykonávanie výpočtov hodnôt dátumu a času.
Dozvedeli sme sa tiež o rôznych funkciách, ako je extrahovanie konkrétnych častí danej hodnoty DateTime, prevádzanie daného dátumu do inej formy, pridávanie hodnôt dátumu / času k existujúcim hodnotám atď.
DateTime je jeden z najdôležitejších dátových typov v MySQL a má veľký význam pre načítanie podrobností, keď došlo k udalosti.
Tieto hodnoty sú veľmi často používané analytikmi údajov / strojovým učením / cenovými modelmi atď., Kde sa vykonáva veľké množstvo časových plánov s cieľom pripraviť modely strojového učenia a prijať dôležité obchodné rozhodnutia.
Odporúčané čítanie
- Výukový program pre C # DateTime: Práca s dátumom a časom v C # s príkladom
- Formát PL SQL Datetime: Funkcie dátumu a času v PL / SQL
- Výukový program pre Python DateTime s príkladmi
- Funkcie dátumu a času v C ++ s príkladmi
- Výukový program na vytvorenie prehľadu MySQL s príkladmi kódu
- MySQL Vložiť do tabuľky - Vložiť syntax príkazov a príklady
- MySQL Vytvorenie výučby tabuľky s príkladmi
- Príkaz na odstránenie MySQL - odstránenie syntaxe príkazov a príkladov