mysql date format timestamp functions with examples
Ten obszerny samouczek zawiera składnię i przykłady funkcji formatu daty MySQL i datownika, takich jak aktualna data, dodawanie daty, dodawanie czasu itp .:
W tym samouczku dowiemy się szczegółowo o typach danych Data i godzina MySQL oraz o różnych funkcjach udostępnianych przez MySQL do manipulowania wartościami daty i czasu.
MySQL zapewnia wspaniały zestaw funkcji / narzędzi do wykonywania różnych operacji, takich jak dodawanie i odejmowanie dat, znajdowanie różnicy między 2 datami i wyodrębnianie określonych części danej wartości daty i czasu.
Czego się nauczysz:
- Funkcje formatu daty i czasu MySQL
- Wniosek
Funkcje formatu daty i czasu MySQL
Te funkcje są bardzo ważne, gdy w tabelach MySQL wymagane są jakiekolwiek operacje na wartościach kolumny daty i godziny.
Wymagania wstępne
Aby uruchomić przykłady użyte w samouczku, potrzebujesz lokalnej konfiguracji instalacji MySQL.
= >> Aby zainstalować MySQL, zapoznaj się z naszym tutorialem tutaj.
DATA I CZAS Typy danych
Typy danych obejmują YEAR, DATE, TIME, DATETIME i TIMESTAMP.
MySQL przechowuje wartości daty i czasu przy użyciu 5 różnych typów danych, tj. - ROK, DATA, CZAS, DATETIME i TIMESTAMP. Spróbujmy je krótko zrozumieć w poniższej tabeli, zanim zagłębimy się w FORMATY DATY i FUNKCJE DATETIME dostarczane przez MySQL.
Rodzaj | Składnia | Zasięg | Pamięć | Format |
---|---|---|---|---|
% H | Godzina - 00-23 | |||
ROK | Służy do przechowywania tylko części rocznej colName ROK | 1901 - 2155 | 1 | „RRRR” |
DATA | Służy do przechowywania tylko części DATA. colName DATA | „1000-01-01” do „9999-12-31” | 3 | „RRRR-MM-DD” |
CZAS | Służy do przechowywania tylko części dotyczącej CZASU. colName CZAS colName CZAS (n) n -> dokładność lub składnik ułamkowy | „00: 00: 00” do „23: 59: 59” | 3 + fractional Storage | „Gg: mm: ss. (Ułamek)” |
DATETIME | Służy do przechowywania DATY i CZASU colName DATETIME colName DATETIME (n) n -> dokładność lub składnik ułamkowy | „1000-01-01 00: 00: 00.000000” do „9999-12-31 23: 59: 59.999999” | 5 + fractional Storage | „RRRR-MM-DD gg: mm: ss. (Ułamek)” |
ZNAK CZASU | Służy do przechowywania DATY i CZASU colName ZNAK CZASU colName TIMESTAMP (n) n -> dokładność lub składnik ułamkowy | Od „1970-01-01 00:00:01” UTC do „2038-01-19 03:14:07” UTC. | 4 + fractionalStorage | „RRRR-MM-DD gg: mm: ss. (Ułamek)” |
Teraz zrozumiemy wymagania dotyczące pamięci dla pamięci ułamkowej. W przypadku typów danych TIME, DATETIME i TIMESTAMP, w zależności od określonego składnika ułamkowego, zużyta pamięć byłaby inna.
Liczba cyfr ułamkowych | Pamięć (w bajtach) |
---|---|
0 | 0 |
1-2 | 1 |
3-4 | dwa |
5-6 | 3 |
Korzystając z powyższej tabeli, na przykład, jeśli mamy typ kolumny - CZAS (5).
Wtedy całkowita używana pamięć byłaby => pamięć używana przez typ danych TIME + pamięć używana przez 5 części ułamkowej => 3 + 3 => 6 bajtów
Zilustrujmy wszystkie te typy danych jako część jednej tabeli i zobaczmy, jakie wartości są przypisane do każdego z nich.
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))
Wstaw pojedynczy wiersz do tabeli, używając funkcji „now ()”, która jest bieżącą sygnaturą czasową. Zwróć uwagę, że użycie tej funkcji spowodowałoby obcięcie / wstawienie tylko wymaganej części bieżącej daty i godziny, w zależności od typu danych kolumny.
insert into datetime_illustration values (now(), now(), now(), now(), now(), now(), now(), now()); select * from datetime_illustration
Zobaczmy teraz zawartość tabeli, aby przeanalizować dane w różnych kolumnach.
select * from datetime_illustration
Podsumowując powyższe dane,
- Wszystkie kolumny mają przypisane wartości według typów danych, na przykład, dla pierwszej kolumny - ROK - chociaż wstawiliśmy za pomocą funkcji „now ()”, która jest bieżącym znacznikiem czasu, wstawiona wartość to tylko część roku z bieżącej daty i godziny - tj. 2020.
- Funkcja now () zwraca bieżącą datę i godzinę w formacie - dd: mm: rrrr gg: mm: ss
- Zwróć uwagę, że część ułamkowa w nazwach kolumn ma „_fractional”. W zależności od liczby określonych cyfr ułamkowych wartości ułamkowe są przechwytywane i wyświetlane.
Automatyczna inicjalizacja i aktualizacja pól DATETIME i TIMESTAMP
W rzeczywistych scenariuszach - w większości przypadków inicjalizacja i aktualizacje DATETIME są skonfigurowane jako automatyczne.
Oznacza to, że ogólnie tabele mają 2 kolumny, takie jak - created_time i updated_time .
Kolumna created_time jest skonfigurowana tak, aby przyjmować wartość bieżącego czasu systemowego za każdym razem, gdy wstawiany jest wiersz, i podobnie update_time jest skonfigurowany tak, aby pobierał bieżący czas systemowy za każdym razem, gdy są wykonywane aktualizacje określonego wiersza tabeli.
Proszę to zanotować, w czasie wstawiania wiersza obie wartości created_time i updated_time będą miały tę samą wartość. Wszystkie kolejne aktualizacje wiersza spowodują aktualizację pola updated_time według aktualnego czasu systemowego.
Spróbujmy utworzyć jedną taką tabelę, która ma automatyczną inicjalizację i aktualizację.
Stworzymy tabelę o nazwie Cena akcji który ma pola: symbol giełdowy, cena i data i godzina - 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)
Wstaw trochę danych do tabeli:
insert into stock_price(symbol,price) values('AMZN','3000.10');
Zobaczmy wynik (zauważ, że właśnie wprowadziliśmy wartości symbolu i ceny - kolumny datetime, created_on i updated_on powinny zostać automatycznie zainicjowane)
select * from stock_price
różnica między soapui i soapui pro
Spróbuj zaktualizować cenę akcji dla akcji „AMZN”, jak pokazano poniżej:
update stock_price set price='3005.15' where symbol='AMZN'
A teraz ponownie pobierz dane do tabeli. Powinniśmy zobaczyć, że wartość updated_time zmieni się na czas, w którym nastąpiła aktualizacja ceny stock_price.
select * from stock_price
Możesz teraz zauważyć na powyższym przykładzie, że wartość kolumny updated_on została zaktualizowana do sygnatury czasowej aktualizacji.
Funkcje daty i czasu MySQL
MySQL udostępnia wiele funkcji dla kolumn zawierających typy danych związane z datą i godziną.
Te funkcje są zwykle używane do:
- Przekonwertuj zapisaną datę na wymagany format podczas wykonywania zapytań dotyczących danych.
- Manipulowanie istniejącymi polami daty i czasu, na przykład dodawanie interwału do bieżącej wartości kolumny, odejmowanie godzin od aktualnie ustawionych wartości itp.
- Wydobywanie określonych informacji z przechowywanych wartości, na przykład, wyodrębnianie tylko części „daty” z przechowywanej wartości i dalsze filtrowanie / operacje, takie jak GRUPUJ WEDŁUG z datą itp.
W tej sekcji zobaczymy przykłady z najczęściej używanymi funkcjami daty i godziny.
>> Patrz tutaj aby uzyskać pełną listę takich funkcji.
1) Uzyskiwanie aktualnej daty i godziny
MySQL zapewnia wiele przydatnych funkcji / wartości stałych do pobierania bieżących wartości daty i czasu i są zwykle używane podczas przechowywania wartości w kolumnach z datą i godziną lub pobierania z dowolnego określonego zakresu z bieżących wartości daty i czasu.
a) twaróg ()
Ta funkcja pobiera aktualną datę. Inne synonimy funkcji curdate () to - CURRENT_DATE, CURRENT_DATE (), CURRENT_DATE ( fractionalDigits )
Przykład tej funkcji przedstawiono poniżej:
select curdate(), CURRENT_DATE(), CURRENT_DATE
b) curtime ()
Ta funkcja pobiera aktualny czas. Aby uzyskać część ułamkową (do 6 cyfr), określ ułamek w nawiasach jako czas (3) To spowoduje pobranie bieżącej wartości czasu systemowego do 3 miejsc po przecinku.
Inne synonimy funkcji curtime () to CURRENT_TIME, CURRENT_TIME (), CURRENT_TIME ( fractionalDigits )
select curtime(), CURRENT_TIME(), CURRENT_TIME, curtime(6), CURRENT_TIME(6)
c) teraz ()
Ta funkcja pobiera aktualny znacznik czasu. Określ część ułamkową w nawiasach, na przykład, now (4) pobierze bieżący znacznik czasu do 4 miejsc po przecinku.
Inne synonimy funkcji now () obejmują CURRENT_TIMESTAMP, CURRENT_TIMESTAMP (), CURRENT_TIMESTAMP ( fractionalDigits )
select now(), CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP, now(6), CURRENT_TIMESTAMP(6)
# 2) Dodawanie i odejmowanie dat
MySQL zapewnia funkcje do dodawania i odejmowania wartości daty i godziny do istniejącej wartości przechowywanej w kolumnie lub do wykorzystania podczas wykonywania zapytań o dane. Funkcje zrozumiemy na przykładach.
Będziemy używać poniższej tabeli do wykonywania odejmowania dodawania daty i czasu.
create table datetime_calc(datecol DATE, timecol TIME, datetimecol DATETIME(6));
Wstaw niektóre wpisy w powyższej tabeli, używając instrukcji INSERT, jak pokazano poniżej:
insert into datetime_calc values(now(), now(), now(6)); insert into datetime_calc values(now(), now(), now(6));
Przeanalizujmy powyższą tabelę i zobaczmy przechowywane dane:
Oprócz aktualizowania kolumn w tabeli, możemy bezpośrednio manipulować datą i godziną za pomocą instrukcji SELECT, stosując dowolną określoną datę / godzinę lub wartość datetime.
a) ADDDATE ()
Jak sama nazwa wskazuje, funkcja ta służy do dodawania daty do istniejącej wartości daty, która może być typu - DATA, DATETIME lub TIMESTAMP
Składnia:
ADDDATE(inputTimeValue/fieldName, noOfDays)
ADDDATE można również wywołać z wartością Interval - może to być DNI, TYDZIEŃ, GODZINA, MINUTA, DRUGA itp.
W takim przypadku składnia zmieniłaby się na,
ADDDATE(inputTimeValue/fieldName, Interval intervalUnit)
Zobaczmy kilka przykładów, aby lepiej to zrozumieć.
SELECT ADDDATE('2020-08-15', 31); // output '2020-09-15'
Gdy jako drugi argument podano liczbę całkowitą, jest ona traktowana jako liczba dni, które mają zostać dodane do podanej daty.
Kilka innych przykładów z interwałem jako - MIESIĄC, GODZINA i TYDZIEŃ to:
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
Inne przykłady interwałów to - MINUTA, DRUGA, KWARTAŁ itp.
Aby zaktualizować kolumnę istniejącej tabeli, na przykład, dla tabeli utworzyliśmy „datetime_calc”, jeśli chcemy zaktualizować wartość „datecol” i dodać 10 dni do wszystkich dat w kolumnie, możemy użyć zapytania jak poniżej:
update datetime_calc set datecol=ADDDATE(datecol, 30);
Teraz użyj polecenia SELECT *, aby wyświetlić wszystkie dane w tabeli datetime_calc.
SELECT * FROM datetime_calc
Na powyższym wyjściu widać, że wartości kolumny datecol zostały zaktualizowane do 24-09-2020 z dnia 25-08-2020 po dodaniu 30 dni do istniejących wartości.
b) ADDTIME ()
Podobnie jak ADD_DATE, funkcja ADD_TIME może zostać użyta do dodania składnika czasu do istniejącej kolumny / pola DATETIME, TIME lub TIMESTAMP lub podanych danych wejściowych.
Składnia:
ADDTIME(inputTimeValue/fieldName, ‘hh:mm:ss’)
Przykład:
SELECT ADDTIME('2020-01-02 12:11:11', '01:10:00'); // output 2020-01-02 13:21:11
Spójrzmy na przykład, w którym aktualizujemy kolumnę z datą i godziną w tabeli, dodając 5 godzin do wszystkich wartości w tej kolumnie. Oto przykładowe zapytanie:
update datetime_calc set datetimecol=ADDTIME(datetimecol, '05:00:00')
Tabela wyjściowa przed:
// output '2020-08-25 05:53:37.851379' '2020-08-25 05:53:39.711515'
Wyjście tabeli po:
// output '2020-08-25 10:53:37.851379' '2020-08-25 10:53:39.711515'
c) PODDATA ()
SUBDATE jest dokładnie podobne do ADDDATE, z tą różnicą, że SUBDATE odejmuje podany Interval / No. dni z wartości kolumny / pola.
Składnia:
SUBDATE(inputTimeValue/fieldName, noOfDays)
Spójrzmy na kilka przykładów ilustrujących działanie funkcji SUBDATE ().
SELECT SUBDATE('2020-08-15', 31); // output 2020-07-15
Poniższy przykład pokazuje odejmowanie przedziału czasu podanego w godzinach / dniach tygodnia itp.
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) PODCZAS ()
SUBTIME odejmuje wartość czasu określoną w „hh: mm: ss” od podanej wartości pola daty i godziny.
Składnia:
SUBTIME(inputTimeValue/fieldName, ‘hh:mm:ss’)
Przykłady funkcji SUBTIME ():
SELECT SUBTIME('2020-01-02 12:11:11', '02:20:05'); // output 2020-01-02 09:51:06
# 3) Konwersja dat
MySQL zapewnia szereg wbudowanych funkcji, od konwersji dat z jednego formatu na inny. Zobaczmy najczęściej używane funkcje do konwersji dat.
a) CONVERT_TZ ()
Ta funkcja służy do konwersji daty z jednej strefy czasowej na inną. Przydają się one w sytuacjach, w których przypuszczamy, że Twoje dane były przechowywane w strefie czasowej UTC i podczas wyświetlania chcesz przekonwertować na wybraną strefę czasową.
Na przykład, przelicz UTC na MET (czas środkowoeuropejski).
SELECT CONVERT_TZ('2004-01-01 12:00:00', 'UTC', 'MET');
Wskazówki / uwagi
# 1) Aby uzyskać listę wszystkich stref czasowych w bazie danych systemu MySQL, możesz uruchomić poniższe zapytanie i użyć dowolnej z nazw stref czasowych do konwersji z jednej strefy czasowej na inną.
select * from mysql.time_zone_name
#dwa) Informacje o strefie czasowej są wypełniane podczas instalacji instancji serwera MySQL. Jeśli wynikiem powyższego zapytania jest NULL, może być konieczne najpierw wypełnienie wartości strefy czasowej w tabelach systemowych MySQL.
>> Postępuj zgodnie z tym połączyć aby uzyskać więcej pomocy w tej sprawie.
b) FROM_UNIXTIME ()
Ta funkcja służy do konwersji danego UNIX TIMESTAMP do formatu daty i godziny MySQL.
SELECT FROM_UNIXTIME(1547430881); //output 2019-01-14 07:24:41
c) UNIX_TIMESTAMP
Ta funkcja służy do konwersji danej daty i godziny MySQL na znacznik czasu UNIX.
SELECT UNIX_TIMESTAMP('2020-03-15 07:10:56.123') //output 1584236456.123
Znacznik czasu systemu UNIX przedstawia daną datę w postaci sekund, które upłynęły od 1 stycznia 1970 r. Czasu UTC.
>> Patrz tutaj aby uzyskać więcej informacji na temat znacznika czasu UNIX.
# 4) Pobieranie określonych części kolumn daty i godziny
Czasami pożądane jest pobranie określonej części wartości daty dla wartości pola daty i godziny w tabeli. Na przykład , przypuśćmy, że chcesz policzyć nie. zamówień i pogrupuj je według dnia, tygodnia, miesiąca itp.
Ogólnie rzecz biorąc, te wartości nie są przechowywane jako oddzielne kolumny w tabeli - na przykład, miałbyś tylko jedną kolumnę, taką jak - created_on, która byłaby polem typu data i godzina i nie miałaby oddzielnych kolumn, takich jak - data, miesiąc, rok itp.
MySQL zapewnia wiele przydatnych metod, w których można wyodrębnić żądaną część z pola DateTime.
Załóżmy, że mamy wartość datetime jako - „2020-03-15 07: 10: 56.123”
Rzućmy okiem na niektóre z powszechnie używanych funkcji z przykładami wykorzystującymi powyższą wartość daty i godziny.
a) Wyodrębnij DZIEŃ
MySQL udostępnia następujące funkcje do wyodrębniania informacji DAY:
DATA() - Wyodrębnij część DATE () z pola DateTime.
najlepszy darmowy do czyszczenia rejestru windows 8.1
SELECT DATE('2020-03-15 07:10:56.123'); //output 2020-03-15
DZIEŃ MIESIĄCA() - Wyodrębnij część DAY z daty i godziny. Zasadniczo jest to dzień miesiąca. Skrótem użycia tej funkcji jest DAY ()
SELECT DAYOFMONTH('2020-03-15 07:10:56.123'); //output 15
DZIEŃ TYGODNIA () - Wyodrębnia indeks odpowiadający dniu tygodnia - wartości od 1 do 7.
SELECT DAYOFWEEK('2020-03-15 07:10:56.123'); //output 1
DAYOFYEAR () - Wyciąga dzień pod względem nie. dni minęło w ciągu roku. Wartości mieszczą się w zakresie od 1 do 365 (lub 366, jeśli jest to rok przestępny).
SELECT DAYOFYEAR('2020-03-15 07:10:56.123'); //output 75
NAZWA DNIA () - Wyodrębnia nazwę dnia z wartościami z zakresu od poniedziałku do niedzieli.
SELECT DAYNAME('2020-03-15 07:10:56.123'); //output Sunday
b) Wyodrębnij CZAS
MySQL udostępnia następujące funkcje do wyodrębniania wartości CZASU:
CZAS () - Wyodrębnia część czasu w formacie gg: mm: ss (ze składnikiem ułamków sekund, jeśli jest dostępny).
SELECT TIME('2020-03-15 07:10:56.123'); //output '07:10:56.123'
GODZINA() - Wyodrębnia część godzinową pola / wartości - wartości z zakresu od 1 do 24.
SELECT HOUR('2020-03-15 07:10:56.123'); //output 7
MINUTA() - Wyodrębnia minutową część podanej daty i godziny - wartości z zakresu 1-60.
SELECT MINUTE('2020-03-15 07:10:56.123'); //output 10
DRUGA() - Wyodrębnia sekundową część podanej daty i godziny - wartości z zakresu od 1 do 60.
SELECT SECOND('2020-03-15 07:10:56.123'); //output 56
MIKROSEKunda () - Wyodrębnia część w mikrosekundach z danego DateTime.
SELECT MICROSECOND('2020-03-15 07:10:56.123'); //output 123000
c) Wyodrębnij MIESIĄC
MIESIĄC () - Wyodrębnia indeks miesiąca. Wartości od 1 do 12.
SELECT MONTH('2020-03-15 07:10:56.123'); //output 3
NAZWA MIESIĄCA () - Wyodrębnia nazwę miesiąca. Wartości wahają się od stycznia do grudnia.
SELECT MONTHNAME('2020-03-15 07:10:56.123'); //output March
d) Wyodrębnij TYDZIEŃ, ROK i KWARTAŁ
TYDZIEŃ() - Wyodrębnia TYDZIEŃ roku dla danej wartości DateTime.
SELECT WEEK('2020-03-15 07:10:56.123'); //output 11
ROK() - Wyodrębnia część YEAR z daty.
SELECT YEAR('2020-03-15 07:10:56.123'); //output 2020
JEDNA CZWARTA() - Wyodrębnia kwartał w odniesieniu do roku. Wartości w zakresie od 1 do 4.
SELECT QUARTER('2020-03-15 07:10:56.123'); //output 1
Wszystkie powyższe metody są najczęściej używane do analizy danych i prognozowania - na przykład, które dni miesiąca były nie. najwyższych zamówień itp.
# 5) Znajdowanie różnicy między 2 datami
Aby znaleźć różnicę między 2 podanymi wartościami pól typu data-godzina, MySQL udostępnia funkcje DATEDIFF () i TIMEDIFF ().
a) DATEDIFF ()
Zwraca różnicę między 2 wartościami DateTime (lub daty) w liczbie dni.
Składnia:
DATEDIFF(DateTime1, DateTIme2)
Zobaczmy kilka przykładów funkcji DATEDIFF ():
DATEDIFF () używa danych wejściowych DateTime.
SELECT DATEDIFF('2020-01-05 12:11:11.11', '2020-01-03 14:11:11') //output 2
DATEDIFF () przy użyciu danych wejściowych typu Date.
SELECT DATEDIFF('2020-04-02', '2020-01-04') //output 89
DATEDIFF () przy użyciu danych wejściowych typu Date z ujemnym wynikiem.
SELECT DATEDIFF('2020-04-02', '2020-04-05') //output -3
b) TIMEDIFF ()
Ta funkcja zwraca różnicę między 2 wartościami daty i godziny (lub godziny) wyrażonymi w „gg: mm: ss” z opcjonalną częścią ułamkową w zależności od danych wejściowych, z których wywołano funkcję TIMEDIFF ().
Składnia:
TIMEDIFF(DateTime1, DateTIme2)
Zgodnie z powyższą składnią, wynikiem działania funkcji TIMEDIFF () byłby czas określony jako „hh: mm: ss” dla wyrażenia => DateTime1 - DateTIme2
Proszę to zanotować,
- Wyrażenie 1 i Wyrażenie2 są tego samego typu - tj. Jedna data i godzina, inna po prostu godzina, zwróci wartość NULL.
- Wyrażenia1 i Wyrażenie2 nie mogą być tylko datami. Przykład: DATEDIFF (2020-01-01, 2020-02-01) zwróci wartość NULL.
Zobaczmy kilka przykładów funkcji TIMEDIFF ():
TIMEDIFF () przy użyciu danych wejściowych DateTime.
SELECT TIMEDIFF('2020-01-4 12:11:11.11', '2020-01-03 12:11:11') //output 24:00:00.11
TIMEDIFF () przy użyciu wejść Time.
SELECT TIMEDIFF('12:11:11.11', '02:12:11') //output 09:59:00.11
TIMEDIFF () zwraca ujemne wyjście.
SELECT TIMEDIFF('2020-01-01 12:11:11.11', '2020-01-03 12:11:11') //output -47:59:59.89
Proszę to zanotować zarówno DATEDIFF (), jak i TIMEDIFF () mogą zwracać wartości UJEMNE, gdy pierwszy argument jest mniejszy niż drugi - tj. pierwszy argument jest starszą wartością dateTime w porównaniu z drugim.
# 6) Formatowanie dat
Funkcja DATE_FORMAT () konwertuje datę w podanym formacie.
Na przykład: Konwersja wymaganej daty w formacie mm / rrrr.
SELECT DATE_FORMAT('2020-03-15 07:10:56.123', '%m/%Y'); //output 03/2020
Zobaczmy kilka typowych konwencji dotyczących używania specyfikatorów formatu:
Format | Opis |
---|---|
% Y | Wartość roku - 4 cyfry |
% Y | Wartość roku - 2 cyfry |
% M | Nazwa miesiąca jak - styczeń, luty |
% m | Nazwa miesiąca - numeryczna |
%re | Dzień miesiąca |
% h | Godzina - 00-12 |
%ja | Minuty |
% S | sekundy |
W zależności od wymagań można użyć tych specyfikatorów formatu, a MySQL DateTime można przekonwertować na wymagany format.
Przykład: Konwersję do formatu dd / mm / rrrr można określić jako:
SELECT DATE_FORMAT('2020-03-15 07:10:56.123', '%d/%m/%Y'); //output 15/03/2020
>> Patrz tutaj aby uzyskać pełną listę specyfikatorów formatu obsługiwanych przez MySQL.
Często Zadawane Pytania
Q # 1) Jak możemy zmienić część roku w przechowywanej dacie w MySQL?
Odpowiedź: Aby zaktualizować wartość roku do określonej liczby dla danej daty, możemy skorzystać z DATE_ADD funkcji i dodaj różnicę między bieżącym rokiem daty a tym, który chcemy zmienić.
Na przykład: Załóżmy, że mamy datę „2020-03-15 07: 10: 56.123” i chcemy po prostu zmienić część daty dotyczącą roku na 2018. Aby to zrobić,
- Najpierw możemy znaleźć różnicę między rokiem, który ma zostać zaktualizowany, a rzeczywistym rokiem w tej dacie. Można to osiągnąć za pomocą funkcji ROK.
SELECT (2018 - year('2020-03-15 07:10:56.123')) //output -2
- Teraz możemy dodać tę -2 jako przedział roku za pomocą funkcji DATE_ADD.
SELECT DATE_ADD('2020-03-15 07:10:56.123', INTERVAL -2 year) //output 2018-03-15 07:10:56.123000
Możesz zobaczyć powyżej, że właśnie zmieniliśmy część daty dotyczącą roku.
Ten sam zestaw kroków można zastosować, gdy istnieje potrzeba zmiany określonej części daty. Przykład: Miesiąc, dzień itp.
Q # 2) Jak zmienić datę i godzinę w wymaganym formacie w MySQL?
najlepszy program do klonowania dysku twardego na dysk SSD
Odpowiedź: MySQL udostępnia funkcję DATE_FORMAT () do konwersji daty i godziny na wymagany sformatowany ciąg znaków do wyświetlenia w wynikach zapytania.
>> Patrz tutaj aby uzyskać pełną listę specyfikatorów formatu.
Przykład: Aby przekonwertować datę i godzinę na format - dd: mm: rrrr, możesz użyć następującego zapytania:
SELECT DATE_FORMAT('2020-03-15 07:10:56.123', '%d:%m:%Y');
Pytanie 3) Jaki jest format daty w MySQL?
Odpowiedź: Standardowy format daty w MySQL to „dd-mm-rrrr hh: mm: ss. { fractionalPart }
Przykładowa wartość daty i godziny przechowywana w MySQL - „2020-03-15 07: 10: 56.123”
Q # 4) Jak utworzyć tabelę z typem danych DATE w MySQL.
Odpowiedź: MySQL zapewnia różne typy danych do przechowywania wartości daty i czasu zgodnie z potrzebami. Tylko do przechowywania dat - można użyć typu danych DATE. Przechowuje dane w formacie rrrr-mm-dd.
Zobaczmy przykład określania kolumny jako typu DATE:
CREATE TABLE date_illustration(date_col DATE);
Wniosek
W tym samouczku dowiedzieliśmy się o różnych typach danych udostępnianych przez MySQL do przechowywania wartości daty i czasu oraz o tym, jak różne łatwe w użyciu funkcje dostarczane przez MySQL mogą być wykorzystywane do wykonywania obliczeń na wartościach daty i czasu.
Dowiedzieliśmy się również o różnych funkcjach, takich jak wyodrębnianie określonych części danej wartości DateTime, przekształcanie danej daty w inną postać, dodawanie wartości daty / godziny do istniejących wartości itp.
DateTime jest jednym z najważniejszych typów danych w MySQL i ma duże znaczenie dla pobierania szczegółów dotyczących czasu wystąpienia zdarzenia.
Wartości te są bardzo szeroko stosowane przez analityków danych / uczenie maszynowe / modele cenowe itp., Gdzie wiele jest wycinania i rozkładania dat w celu przygotowania modeli uczenia maszynowego i podejmowania krytycznych decyzji biznesowych.
rekomendowane lektury
- C # DateTime Tutorial: Praca z datą i godziną w C # z przykładem
- PL SQL Datetime Format: Funkcje daty i czasu w PL / SQL
- Python DateTime Tutorial z przykładami
- Funkcje daty i czasu w C ++ z przykładami
- MySQL Create View - samouczek z przykładami kodu
- MySQL Wstaw do tabeli - Wstaw składnię instrukcji i przykłady
- MySQL Tworzenie tabeli z przykładami
- Instrukcja usuwania MySQL - składnia polecenia usuwania i przykłady