mysql date format timestamp functions with examples
Ovaj opsežni vodič pruža sintaksu i primjere MySQL funkcije formata datuma i vremenske oznake kao što su trenutni datum, dodavanje datuma, dodavanje vremena itd .:
U ovom ćemo uputstvu detaljno naučiti o MySQL tipovima podataka Datum i vrijeme i raznim funkcijama koje MySQL pruža za manipulaciju vrijednostima datuma i vremena.
MySQL nudi velik skup funkcija / uslužnih programa za obavljanje različitih operacija poput dodavanja i oduzimanja datuma, otkrivanja razlike između 2 datuma i izdvajanja određenih dijelova zadane vrijednosti datum-vrijeme.
Što ćete naučiti:
- MySQL funkcije formata datuma i vremena
- Zaključak
MySQL funkcije formata datuma i vremena
Te su funkcije vrlo važne kad god su u MySQL tablicama potrebne bilo kakve operacije s vrijednostima stupca datuma i vremena.
Preduvjeti
Za pokretanje primjera korištenih u vodiču trebat će vam lokalno postavljanje MySQL instalacije.
= >> Za instaliranje MySQL-a pogledajte naš vodič ovdje.
DATUM I VRIJEME Vrste podataka
Tipovi podataka uključuju GODINU, DATUM, VRIJEME, DATETIME i VRIJEME.
MySQL pohranjuje vrijednosti datuma i vremena koristeći 5 različitih vrsta podataka, tj. - GODINU, DATUM, VRIJEME, DATETIME i VRIJEME. Pokušajmo to kratko razumjeti u donjoj tablici, prije nego što dublje zađemo u OBLIKE DATUMA I FUNKCIJE DATUMA, koje pruža MySQL.
| Tip | Sintaksa | Domet | Memorija | Format |
|---|---|---|---|---|
| % H | SAT - 00 - 23 | |||
| GODINA | Koristi se za pohranu samo godišnjeg dijela colName GODINA | 1901. - 2155 | 1 | ‘GGGG’ |
| DATUM | Koristi se za pohranu samo DATUMA dijela. colName DATUM | '1000-01-01' do '9999-12-31' | 3 | ‘GGGG-MM-DD’ |
| VRIJEME | Koristi se za pohranu samo TIME dijela. colName VRIJEME colName VRIJEME (n) n -> točnost ili frakcijska komponenta | ‘00: 00: 00 ’do ‘23: 59: 59’ | 3 + razlomljeno skladište | ‘Hh: mm: ss. (Razlomak)’ |
| DATUM VRIJEME | Koristi se za pohranu DATUMA I VRIJEME colName DATUM VRIJEME colName DATETIME (n) n -> točnost ili frakcijska komponenta | '1000-01-01 00: 00: 00,000000' do '9999-12-31 23: 59: 59,999999' | 5 + razlomljeno skladište | ‘GGGG-MM-DD hh: mm: ss. (Razlomak)’ |
| VREMENSKI KAMP | Koristi se za pohranu DATUMA I VRIJEME colName VREMENSKI KAMP colName VRIJEME (n) n -> točnost ili frakcijska komponenta | '1970-01-01 00:00:01' UTC do '2038-01-19 03:14:07' UTC. | 4 + razlomljeno skladište | ‘GGGG-MM-DD hh: mm: ss. (Razlomak)’ |
Sada ćemo razumjeti memorijske zahtjeve za razlomljeno skladištenje. Za vrste podataka TIME, DATETIME i TIMESTAMP, ovisno o navedenoj frakcijskoj komponenti, utrošena memorija bila bi drugačija.
| Broj razlomljenih znamenki | Memorija (u bajtovima) |
|---|---|
| 0 | 0 |
| 1-2 | 1 |
| 3-4 | dva |
| 5-6 | 3 |
Koristeći gornju tablicu, na primjer, ako imamo tip stupca kao - VRIJEME (5).
Tada bi ukupna upotrijebljena memorija bila => memorija koju koristi tip podataka TIME + memorija koju koristi 5 frakcijskih komponenata => 3 + 3 => 6 bajtova
Ilustrirajmo sve ove tipove podataka kao dio jedne tablice i pogledajte vrijednosti koje su dodijeljene svakom od tipova.
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)) U tablicu umetnite jedan redak pomoću funkcije ‘now ()’, koja je trenutna vremenska oznaka. Primijetite kako bi upotreba ove funkcije rezultirala obrezivanjem / umetanjem samo potrebnog dijela trenutnog datuma i vremena, ovisno o vrsti podataka stupca.
insert into datetime_illustration values (now(), now(), now(), now(), now(), now(), now(), now()); select * from datetime_illustration Sada, pogledajmo sadržaj tablice za analizu podataka u različitim stupcima.
select * from datetime_illustration 
Dakle, gornje podatke sumiramo kao,
- Svi su stupci dobili dodijeljene vrijednosti prema vrstama podataka, na primjer, za prvi stupac - GODINA - premda smo umetnuli pomoću funkcije ‘now ()’ koja je trenutna vremenska oznaka, vrijednost koja je umetnuta samo je dio godine trenutnog datuma - tj. 2020.
- funkcija now () vraća trenutni datum i vrijeme u formatu - dd: mm: gggg hh: mm: ss
- Primijetite frakcijski dio u nazivima stupaca koji ima '_fractional'. Ovisno o navedenom broju razlomljenih znamenki, razlomljene vrijednosti se bilježe i prikazuju.
Automatska inicijalizacija i nadogradnja polja DATETIME i TIMESTAMP
U scenarijima iz stvarnog života - najčešće su inicijalizacija i ažuriranja DATETIME konfigurirani da budu automatski.
To znači da tablice obično imaju dva stupca poput - stvoreno_ vrijeme i updated_time .
Stupac created_time konfiguriran je tako da uzima vrijednost trenutnog sistemskog vremena kad god se umetne redak, a slično je updated_time konfiguriran da uzima trenutno sistemsko vrijeme kad god se izvrše neka ažuriranja određenog retka tablice.
Imajte na umu da, za vrijeme umetanja reda, i created_time i updated_time imali bi istu vrijednost. Sva naknadna ažuriranja reda rezultirala bi ažuriranjem polja updated_time trenutnim sistemskim vremenom.
Pokušajmo stvoriti jednu takvu tablicu koja ima automatsku inicijalizaciju, kao i nadogradnju.
Stvorit ćemo tablicu s imenom cijena_ dionica koja sadrži polja dionica, cijene i datum i vrijeme - created_on i 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) U tablicu umetnite neke podatke:
insert into stock_price(symbol,price) values('AMZN','3000.10');Pogledajmo rezultat (primijetite da smo upravo unijeli vrijednosti za simbol i cijenu - stupci s datumom i vremenom, created_on i updated_on trebaju se automatski inicijalizirati)
select * from stock_price 
što je testni slučaj u testiranju softvera s primjerom
Pokušajte ažurirati cijenu dionice za dionicu ‘AMZN’ kako je prikazano dolje:
update stock_price set price='3005.15' where symbol='AMZN'A sada, ponovo dohvatite podatke za tablicu. Trebali bismo vidjeti vrijednost promjena_vremena koja se mijenja u bilo koje vrijeme kada se dogodilo ažuriranje cijene_akcija.
select * from stock_price 
Sada možete primijetiti iz gornjeg primjera da je vrijednost stupca updated_on ažurirana na vremensku oznaku ažuriranja.
MySQL funkcije datuma i vremena
MySQL nudi brojne funkcije za stupce koji imaju tipove podataka koji se odnose na datum i vrijeme.
Te se funkcije obično koriste za
- Pretvorite pohranjeni datum u traženi format dok tražite podatke.
- Manipuliranje postojećim poljima datuma, poput dodavanja intervala trenutnoj vrijednosti stupca, oduzimanja sati od trenutnih postavljenih vrijednosti itd.
- Izdvajanje određenih podataka iz pohranjenih vrijednosti, na primjer, izvlačenje samo 'datumskog' dijela iz pohranjene vrijednosti i daljnje filtriranje / operacije poput GRUPIRAJ PO s datumom itd.
U ovom ćemo odjeljku vidjeti primjere najčešće korištenih funkcija datuma i vremena.
>> Pogledajte ovdje za cjelovit popis takvih funkcija.
# 1) Dobivanje trenutnog datuma i vremena
MySQL nudi puno praktičnih funkcija / konstantnih vrijednosti za dohvaćanje trenutnih vrijednosti datuma i vremena i obično se koriste tijekom spremanja vrijednosti u stupce datuma i vremena ili dohvaćanja u bilo kojem određenom rasponu od trenutnih vrijednosti datuma i vremena.
a) curdate ()
Ova funkcija dobiva trenutni datum. Ostali sinonimi funkcije curdate () su - CURRENT_DATE, CURRENT_DATE (), CURRENT_DATE ( razlomljene znamenke )
Primjer ove funkcije prikazan je u nastavku:
select curdate(), CURRENT_DATE(), CURRENT_DATE 
b) vrijeme ()
Ova funkcija dobiva trenutno vrijeme. Da biste dobili frakcijski dio (do 6 znamenki), navedite razlomak u zagradama kao vrijeme (3) To će dohvatiti trenutnu vrijednost sistemskog vremena do 3 decimalna mjesta.
Ostali sinonimi funkcije curtime () su- CURRENT_TIME, CURRENT_TIME (), CURRENT_TIME ( razlomljene znamenke )
select curtime(), CURRENT_TIME(), CURRENT_TIME, curtime(6), CURRENT_TIME(6) 
c) sada ()
Ova funkcija dobiva trenutnu vremensku oznaku. Navedite razlomljeni dio u zagradama, na primjer, sada (4) dohvatio bi trenutnu vremensku oznaku do 4 decimalna mjesta.
Ostali sinonimi funkcije now () uključuju CURRENT_TIMESTAMP, CURRENT_TIMESTAMP (), CURRENT_TIMESTAMP ( razlomljene znamenke )
select now(), CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP, now(6), CURRENT_TIMESTAMP(6) 
# 2) Zbrajanje i oduzimanje datuma
MySQL pruža funkcije za dodavanje i oduzimanje vrijednosti datuma i vremena postojećoj vrijednosti pohranjenoj u stupcu ili za upotrebu tijekom traženja podataka. Funkcije ćemo razumjeti uz pomoć primjera.
Tablicu u nastavku koristit ćemo za izvršavanje zbrajanja datuma i vremena oduzimanja.
create table datetime_calc(datecol DATE, timecol TIME, datetimecol DATETIME(6));U gornju tablicu umetnite neke unose koristeći izraze INSERT kako je prikazano dolje:
insert into datetime_calc values(now(), now(), now(6)); insert into datetime_calc values(now(), now(), now(6)); Upitajmo gornju tablicu i pogledajte pohranjene podatke:

Osim ažuriranja stupaca u tablici, možemo izravno izvršiti manipulaciju datumom i vremenom pomoću naredbe SELECT primjenom na bilo koji određeni datum / vrijeme ili vrijednost datuma i vremena.
a) DODAJ ()
Kao što i samo ime govori, ova se funkcija koristi za dodavanje datuma postojećoj vrijednosti datuma koja bi mogla biti tipa - DATE, DATETIME ili TIMESTAMP
Sintaksa:
ADDDATE(inputTimeValue/fieldName, noOfDays)ADDDATE se također može pozvati s vrijednošću Interval - koja može biti DAYS, WEEK, HOUR, MINUTE, SECOND, itd.
Sintaksa bi se u tom slučaju promijenila u,
ADDDATE(inputTimeValue/fieldName, Interval intervalUnit)Pogledajmo nekoliko primjera kako bismo ovo bolje razumjeli.
SELECT ADDDATE('2020-08-15', 31); // output '2020-09-15' Kad se cjelobrojna vrijednost navede kao drugi argument, ona se tretira kao broj dana koji se dodaje danom datumu.
Još je nekoliko primjera s Intervalom kao - MJESEC, SAT i TJEDAN:
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 Ostali primjeri intervala mogu biti - MINUT, DRUGI, KVARTAL, itd.
Za ažuriranje stupca postojeće tablice, na primjer, za tablicu koju smo kreirali 'datetime_calc' ako želimo ažurirati vrijednost 'datecol' i dodati 10 dana svim datumima u stupcu, mogli bismo koristiti upit kao u nastavku:
update datetime_calc set datecol=ADDDATE(datecol, 30);Sada upotrijebite SELECT * za prikaz svih podataka u tablici datetime_calc.
SELECT * FROM datetime_calc 
U gornjem izlazu možemo vidjeti da su vrijednosti stupca datecol ažurirane na 24-09-2020 od 25-08-2020 nakon dodavanja 30 dana postojećim vrijednostima.
b) DODAJ ()
Slično ADD_DATE, funkcija ADD_TIME može se koristiti za dodavanje vremenske komponente postojećem - DATETIME, TIME ili TIMESTAMP stupac / polje ili zadani ulaz.
Sintaksa:
ADDTIME(inputTimeValue/fieldName, ‘hh:mm:ss’)Primjer:
SELECT ADDTIME('2020-01-02 12:11:11', '01:10:00'); // output 2020-01-02 13:21:11 Pogledajmo primjer gdje ažuriramo stupac datuma i vremena u tablici dodavanjem 5 sati svim vrijednostima unutar tog stupca. Evo primjera upita:
update datetime_calc set datetimecol=ADDTIME(datetimecol, '05:00:00')Izlaz tablice prije:
// output '2020-08-25 05:53:37.851379' '2020-08-25 05:53:39.711515' Izlaz tablice nakon:
// output '2020-08-25 10:53:37.851379' '2020-08-25 10:53:39.711515' c) SUBDATE ()
SUBDATE je potpuno sličan ADDDATE, jedina razlika je u tome što SUBDATE oduzima zadani interval / br. dana od vrijednosti stupca / polja.
Sintaksa:
SUBDATE(inputTimeValue/fieldName, noOfDays)Pogledajmo nekoliko primjera za ilustraciju funkcije SUBDATE ().
SELECT SUBDATE('2020-08-15', 31); // output 2020-07-15 Sljedeći primjer prikazuje oduzimanje intervala navedenog u satima / danima u tjednu itd.
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 oduzima vrijednost vremena navedenu u 'hh: mm: ss' od zadane vrijednosti polja datuma i vremena.
Sintaksa:
SUBTIME(inputTimeValue/fieldName, ‘hh:mm:ss’)Primjeri funkcije SUBTIME ():
SELECT SUBTIME('2020-01-02 12:11:11', '02:20:05'); // output 2020-01-02 09:51:06 # 3) Pretvaranje datuma
MySQL nudi niz ugrađenih funkcija od pretvaranja datuma iz jednog formata u drugi. Pogledajmo najčešće korištene funkcije za pretvaranje datuma.
a) CONVERT_TZ ()
Ova se funkcija koristi za pretvaranje datuma iz jedne vremenske zone u drugu. Oni su korisni u situacijama kada pretpostavimo da su vaši podaci pohranjeni pomoću UTC vremenske zone i dok se prikazuju želite pretvoriti u vremensku zonu po vašem izboru.
Na primjer, pretvori UTC u MET (srednjoeuropsko vrijeme).
SELECT CONVERT_TZ('2004-01-01 12:00:00', 'UTC', 'MET');Savjeti / napomene
# 1) Da biste dobili popis svih vremenskih zona u bazi podataka MySQL sustava, možete pokrenuti upit u nastavku i koristiti bilo koje od naziva vremenskih zona za pretvaranje iz jedne vremenske zone u drugu.
select * from mysql.time_zone_name#dva) Podaci o vremenskoj zoni popunjavaju se tijekom instalacije instance MySQL poslužitelja. Ako je rezultat gornjeg upita NULL, tada ćete možda trebati popuniti vrijednosti vremenske zone u tablicama MySQL sustava.
>> Slijedite ovo veza za dodatnu pomoć u vezi s tim.
b) OD_UNIXTIME ()
Ova se funkcija koristi za pretvaranje datog UNIX TIMESTAMP-a u MySQL format datuma i vremena.
SELECT FROM_UNIXTIME(1547430881); //output 2019-01-14 07:24:41 c) UNIX_TIMESTAMP
Ova se funkcija koristi za pretvaranje određenog MySQL datuma u UNIX vremensku oznaku.
SELECT UNIX_TIMESTAMP('2020-03-15 07:10:56.123') //output 1584236456.123 UNIX vremenska oznaka predstavlja prikaz određenog datuma u obliku sekundi proteklih od 1. siječnja 1970. UTC.
>> Pogledajte ovdje za više detalja o vremenskoj oznaci UNIX.
# 4) Dohvaćanje određenih dijelova stupaca DateTime
Ponekad je poželjno dohvatiti određeni dio vrijednosti datuma za vrijednost polja datum-vrijeme u tablici. Na primjer , pretpostavimo da želite računati ne. narudžbi i grupirajte ih po danu, tjednu, mjesecu itd.
I, općenito govoreći, ove vrijednosti nisu pohranjene kao zasebni stupci u tablici - na primjer, imali biste samo jedan stupac poput - created_on koji bi bio polje za datum i vrijeme, a ne bi imao zasebne stupce poput - datum, mjesec, godina itd.
MySQL nudi puno korisnih metoda gdje možete izvući željeni dio iz polja DateTime.
Pretpostavimo da imamo vrijednost datuma i vremena kao - ‘2020-03-15 07: 10: 56,123’
Pogledajmo neke od široko korištenih funkcija s primjerima koji koriste gornju vrijednost datuma i vremena.
a) Izvadi DAN
MySQL nudi sljedeće funkcije za izdvajanje podataka o DANU:
DATUM() - Izdvojite DATE () dio polja DateTime.
besplatni DVD kopirni stroj za Windows 10
SELECT DATE('2020-03-15 07:10:56.123'); //output 2020-03-15 DAYOFMONTH () - Izdvojite DAY dio datuma i vremena. To je u biti dan u mjesecu. Skraćenica za upotrebu ove funkcije je DAY ()
SELECT DAYOFMONTH('2020-03-15 07:10:56.123'); //output 15 DAN U TJEDNU () - Izdvaja indeks koji odgovara danu u tjednu - vrijednosti između 1 i 7.
SELECT DAYOFWEEK('2020-03-15 07:10:56.123'); //output 1 DAYOFYEAR () - Izdvaja dan u smislu br. dana u godini. Vrijednosti se kreću između 1 i 365 (ili 366 ako je prijestupna godina).
SELECT DAYOFYEAR('2020-03-15 07:10:56.123'); //output 75 DAYNAME () - Izdvaja naziv dana s vrijednostima u rasponu od ponedjeljka do nedjelje.
SELECT DAYNAME('2020-03-15 07:10:56.123'); //output Sunday b) Ekstrakt VRIJEME
MySQL pruža sljedeće funkcije za izdvajanje TIME vrijednosti:
VRIJEME () - Izdvaja vremenski dio u formatu hh: mm: ss (s dijelom sekundarne komponente ako je dostupna).
SELECT TIME('2020-03-15 07:10:56.123'); //output '07:10:56.123' SAT () - Izdvaja satni dio polja / vrijednosti - vrijednosti u rasponu od 1-24.
SELECT HOUR('2020-03-15 07:10:56.123'); //output 7 MINUTA () - Izdvaja minutni dio zadanog datuma i vremena - vrijednosti se kreću između 1-60.
SELECT MINUTE('2020-03-15 07:10:56.123'); //output 10 DRUGI () - Izdvaja sekundasti dio datog datuma i vremena - vrijednosti se kreću između 1-60.
SELECT SECOND('2020-03-15 07:10:56.123'); //output 56 MIKROSEKUND () - Izdvaja mikrosekunde dijela zadanog DateTime.
SELECT MICROSECOND('2020-03-15 07:10:56.123'); //output 123000 c) Izdvoji MJESEC
MJESEC () - Izdvaja indeks mjeseca. Vrijednosti u rasponu od 1 - 12.
SELECT MONTH('2020-03-15 07:10:56.123'); //output 3 MONTHNAME () - Izdvaja naziv mjeseca. Vrijednosti u rasponu od siječnja do prosinca.
SELECT MONTHNAME('2020-03-15 07:10:56.123'); //output March d) Izdvojite TJEDAN, GODINU i KVARTAL
TJEDAN() - Izdvaja TJEDAN godine za zadanu vrijednost DateTime.
SELECT WEEK('2020-03-15 07:10:56.123'); //output 11 GODINA () - Izdvaja GODINSKI dio datuma.
SELECT YEAR('2020-03-15 07:10:56.123'); //output 2020 ČETVRTINA() - Izdvaja tromjesečje s obzirom na godinu. Vrijednosti u rasponu od 1 do 4.
SELECT QUARTER('2020-03-15 07:10:56.123'); //output 1 Sve ove gore navedene metode uglavnom se koriste za analizu podataka i predviđanje - na primjer, koji su dani u mjesecu bili br. najviših narudžbi itd.
# 5) Pronalaženje razlike između 2 datuma
Kako bi pronašao razliku između 2 zadane vrijednosti polja datuma i vremena, MySQL pruža funkcije DATEDIFF () i TIMEDIFF ().
a) DATEDIFF ()
Vraća razliku između 2 vrijednosti DateTime (ili datuma) u nijednom danu.
Sintaksa:
DATEDIFF(DateTime1, DateTIme2)Pogledajmo nekoliko primjera za funkciju DATEDIFF ():
DATEDIFF () koristi ulaze DateTime.
SELECT DATEDIFF('2020-01-05 12:11:11.11', '2020-01-03 14:11:11') //output 2 DATEDIFF () pomoću unosa datuma.
SELECT DATEDIFF('2020-04-02', '2020-01-04') //output 89 DATEDIFF () pomoću unosa datuma s negativnim izlazom.
SELECT DATEDIFF('2020-04-02', '2020-04-05') //output -3 b) VRIJEME ()
Ova funkcija vraća razliku između dviju vrijednosti datuma i vremena (ili vremena) izražene u ‘hh: mm: ss’ s neobaveznim dijelom, ovisno o ulazu s kojim je pozvana funkcija TIMEDIFF ().
Sintaksa:
TIMEDIFF(DateTime1, DateTIme2)Prema gornjoj sintaksi, rezultat funkcije TIMEDIFF () bio bi vrijeme određeno kao 'hh: mm: ss' za izraz => DateTime1 - DatumTime2
Imajte na umu da,
- I Izraz 1 i Izraz2 istog su tipa - tj. Jedan datum i vrijeme, drugo vrijeme, vraćali bi NULL vrijednost.
- Izraz1 i Izraz2 ne mogu biti samo datumi. Primjer: DATEDIFF (2020-01-01, 2020-02-01) bi vratio NULL.
Pogledajmo nekoliko primjera za funkciju TIMEDIFF ():
TIMEDIFF () pomoću unosa DateTime.
SELECT TIMEDIFF('2020-01-4 12:11:11.11', '2020-01-03 12:11:11') //output 24:00:00.11 TIMEDIFF () pomoću unosa vremena.
SELECT TIMEDIFF('12:11:11.11', '02:12:11') //output 09:59:00.11 TIMEDIFF () vraća negativan izlaz.
SELECT TIMEDIFF('2020-01-01 12:11:11.11', '2020-01-03 12:11:11') //output -47:59:59.89 Imajte na umu da i DATEDIFF () i TIMEDIFF () mogu vratiti NEGATIVNE vrijednosti kad god je prvi argument manji od drugog - tj. prvi je argument starija vrijednost dateTime u odnosu na drugi.
# 6) Oblikovanje datuma
DATE_FORMAT () funkcija pretvara datum u danom formatu.
Na primjer: Pretvaranje potrebnog datuma u format mm / gggg.
SELECT DATE_FORMAT('2020-03-15 07:10:56.123', '%m/%Y'); //output 03/2020 Pogledajmo neke uobičajene konvencije za upotrebu specifikatora formata:
| Format | Opis |
|---|---|
| % Y | Vrijednost godine - 4 znamenke |
| % Y | Vrijednost godine - 2 znamenke |
| % M | Naziv mjeseca poput- siječnja, veljače |
| % m | Naziv mjeseca - numerički |
| % d | Dan u mjesecu |
| % h | SAT - 00 - 12 |
| % i | Zapisnik |
| % S | Sekunde |
Ovisno o zahtjevu, ovi se specifikatori formata mogu koristiti i MySQL DateTime može se pretvoriti u traženi format.
Primjer: Pretvorba u format dd / mm / yyyy može se odrediti kao:
SELECT DATE_FORMAT('2020-03-15 07:10:56.123', '%d/%m/%Y'); //output 15/03/2020 >> Pogledajte ovdje za cjelovit popis specifikatora formata koje podržava MySQL.
Često postavljana pitanja
P # 1) Kako možemo promijeniti dio godine pohranjenog datuma u MySQL?
Odgovor: Da bismo ažurirali vrijednost godine na određeni broj za određeni datum, možemo se poslužiti oznakom DATE_ADD funkcija i dodajte razliku između tekuće godine i one koju želimo promijeniti.
Na primjer: Pretpostavimo da imamo datum ‘2020-03-15 07: 10: 56.123’ i samo želimo promijeniti datumski dio godine u 2018. Da bismo to učinili,
- Prvo možemo pronaći razliku između godine koja se ažurira i stvarne godine datuma. To se može postići pomoću funkcije YEAR.
SELECT (2018 - year('2020-03-15 07:10:56.123')) //output -2 - Sada možemo dodati ovu -2 kao godišnji interval pomoću funkcije DATE_ADD.
SELECT DATE_ADD('2020-03-15 07:10:56.123', INTERVAL -2 year) //output 2018-03-15 07:10:56.123000 Gore možete vidjeti da smo upravo promijenili dio datuma u godini.
Isti niz koraka može se koristiti kada postoji potreba za promjenom određenog dijela datuma. Primjer: Mjesec, dan itd.
P # 2) Kako promijeniti datum i vrijeme u potrebnom formatu u MySQL?
najbolji python ide mac os x
Odgovor: MySQL pruža funkciju DATE_FORMAT () za pretvaranje datuma i vremena u potreban formatirani niz za prikaz u rezultatima upita.
>> Pogledajte ovdje za potpuni popis specifikatora formata.
Primjer: Za pretvaranje datuma i vremena u format - dd: mm: yyyy, možete koristiti sljedeći upit:
SELECT DATE_FORMAT('2020-03-15 07:10:56.123', '%d:%m:%Y');P # 3) Koji je format datuma u MySQL-u?
Odgovor: Standardni format datuma u MySQL-u je ‘dd-mm-yyyy hh: mm: ss. { frakcijskiPart }
Uzorak datetime vrijednosti pohranjene u MySQL - ‘2020-03-15 07: 10: 56,123’
P # 4) Kako stvoriti tablicu s tipom podataka DATUM u MySQL-u.
Odgovor: MySQL nudi različite vrste podataka za pohranu vrijednosti datuma i vremena prema potrebi. Za samo spremanje datuma - može se koristiti tip podataka DATE. Pohranjuje podatke u formatu yyyy-mm-dd.
Pogledajmo primjer određivanja stupca kao tipa DATUM:
CREATE TABLE date_illustration(date_col DATE);Zaključak
U ovom uputstvu naučili smo o različitim vrstama podataka koje MySQL pruža za pohranu vrijednosti datuma i vremena te kako se razne jednostavne funkcije koje pruža MySQL mogu koristiti za izvršavanje izračuna na datumskim vrijednostima.
Također smo naučili o različitim funkcijama poput izdvajanja određenih dijelova zadane vrijednosti DateTime, pretvaranja datog datuma u drugi oblik, dodavanja vrijednosti datuma / vremena postojećim vrijednostima itd.
DateTime je jedna od najvažnijih vrsta podataka u MySQL-u i ima veliku važnost za dohvaćanje detalja oko događaja.
Te se vrijednosti vrlo široko koriste od strane analitičara podataka / modela strojnog učenja / cijena, itd., Gdje se radi puno rezanja i rezanja datuma kako bi se pripremili modeli strojnog učenja i donijele ključne poslovne odluke.
Preporučena literatura
- Vodič za C # DateTime: Rad s datumom i vremenom u C # s primjerom
- PL SQL format vremena i datuma: funkcije datuma i vremena u PL / SQL-u
- Python DateTime Vodič s primjerima
- Funkcije datuma i vremena u C ++ s primjerima
- MySQL Vodič za stvaranje pogleda s primjerima koda
- MySQL Umetni u tablicu - Umetni sintaksu i primjere izjave
- MySQL Vodič za izradu tablica s primjerima
- Izjava o brisanju MySQL - Izbriši sintaksu naredbe i primjere