Czasami może być konieczne przekonwertowanie wartości czasu MySQL z jednej strefy czasowej na inną. Oto jak zmienić strefę czasową MySQL w zapytaniu za pomocą funkcji convert_tz().
Konwertuj strefę czasową w zapytaniu MySQL
Użyjemy funkcji CONVERT_TZ do zmiany strefy czasowej MySQL w zapytaniu. Oto składnia funkcji CONVERT_TZ.
convert_tz(value, from_timezone, to_timezone)
W powyższej funkcji musisz podać wartość czasu do przeliczenia, strefę czasową, z której chcesz przekonwertować tę wartość, oraz strefę czasową, na którą chcesz ją przekonwertować.
Możesz określić strefy czasowe jako przesunięcia lub nazwy stref czasowych.
Przeczytaj bonus:Jak zmienić strefę czasową serwera MySQL
Oto przykład konwersji dosłownej wartości czasu ze strefy czasowej UTC na strefę czasową EST, przy użyciu przesunięcia strefy czasowej „+00:00” i „-05:00” odpowiednio dla UTC i EST.
mysql> select convert_tz('2020-09-17 03:00:00','+00:00','-05:00'); +-----------------------------------------------------+ | convert_tz('2020-09-17 03:00:00','+00:00','-05:00') | +-----------------------------------------------------+ | 2020-09-16 22:00:00 | +-----------------------------------------------------+
Możesz również określić strefy czasowe zamiast przesunięć. Jednak w takim przypadku będziesz musiał pobrać i zainstalować strefy czasowe MySQL na swoim serwerze. Oto przykład konwersji EST na strefę czasową Paryż przez określenie nazw stref czasowych zamiast wartości przesunięcia.
mysql> select convert_tz('2020-09-17 03:00:00','US/Eastern','Europe/Paris');
Przeczytaj bonus:MySQL pokazuje indeksy w bazie danych
Możesz również przekonwertować funkcje daty, czasu i daty w MySQL w funkcji CONVERT_TZ. Oto przykład zmiany strefy czasowej bieżącego czasu uzyskanej za pomocą funkcji NOW(), z UTC na EST
mysql> select convert_tz(now(),'+00:00','-05:00'); +-------------------------------------+ | convert_tz(now(),'+00:00','-05:00') | +-------------------------------------+ | 2020-09-17 04:45:07 | +-------------------------------------+
Przeczytaj bonus:Jak porównywać bazy danych MySQL
Podobnie możesz również przekonwertować kolumny daty, godziny, daty i godziny za pomocą convert_tz. Oto przykład zmiany strefy czasowej data_zamówienia kolumna w sprzedaży tabela, od UTC do EST
mysql> select convert_tz(order_date,'+00:00','-05:00') from sales; +------------------------------------------+ | convert_tz(order_date,'+00:00','-05:00') | +------------------------------------------+ | 2020-05-03 19:00:00 | | 2020-05-04 19:00:00 | | 2020-05-05 19:00:00 | | ... | | 2020-05-13 19:00:00 | +------------------------------------------+
Mamy nadzieję, że teraz możesz zmienić strefę czasową MySQL w zapytaniu i przekonwertować wartości daty, godziny i daty z jednej strefy czasowej na inną.
Ubiq ułatwia wizualizację danych w ciągu kilku minut i monitorowanie w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj już dziś!