Soms moet u de MySQL-tijdwaarde van de ene tijdzone naar de andere converteren. Hier leest u hoe u de MySQL-tijdzone in de query kunt wijzigen met de functie convert_tz() .
Tijdzone converteren in MySQL-query
We zullen de CONVERT_TZ-functie gebruiken om de MySQL-tijdzone in de query te wijzigen. Dit is de syntaxis van de CONVERT_TZ-functie.
convert_tz(value, from_timezone, to_timezone)
In de bovenstaande functie moet u de tijdwaarde opgeven die moet worden geconverteerd, de tijdzone van waaruit u deze waarde wilt converteren en de tijdzone waarnaar u deze wilt converteren.
U kunt tijdzones specificeren als verschuivingen of tijdzonenamen.
Bonus lezen:de tijdzone van de MySQL-server wijzigen
Hier is een voorbeeld om een letterlijke tijdwaarde om te zetten van UTC naar EST-tijdzone, met tijdzoneverschuivingen van '+00:00' en '-05:00' voor respectievelijk UTC en 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 | +-----------------------------------------------------+
U kunt ook tijdzones specificeren in plaats van offsets. In dit geval moet u echter MySQL-tijdzones downloaden en installeren op uw server. Hier is een voorbeeld om EST te converteren naar de tijdzone van Parijs door tijdzonenamen op te geven in plaats van offsetwaarden.
mysql> select convert_tz('2020-09-17 03:00:00','US/Eastern','Europe/Paris');
Bonus Lezen:MySQL Toon indexen in database
U kunt MySQL-datum-, tijd- en datumtijdfuncties ook converteren in de CONVERT_TZ-functie. Hier is een voorbeeld om de tijdzone van de huidige tijd die is verkregen met de functie NOW() te wijzigen, van UTC naar EST
mysql> select convert_tz(now(),'+00:00','-05:00'); +-------------------------------------+ | convert_tz(now(),'+00:00','-05:00') | +-------------------------------------+ | 2020-09-17 04:45:07 | +-------------------------------------+
Bonus lezen:MySQL-databases vergelijken
Op dezelfde manier kunt u ook datum-, tijd- en datumtijdkolommen converteren met convert_tz. Hier is een voorbeeld om de tijdzone van order_date te wijzigen kolom in verkoop tabel, van UTC naar 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 | +------------------------------------------+
Hopelijk kunt u nu de MySQL-tijdzone in de query wijzigen en datum-, tijd- en datetime-waarden van de ene tijdzone naar de andere converteren.
Ubiq maakt het gemakkelijk om gegevens binnen enkele minuten te visualiseren en in realtime dashboards te monitoren. Probeer het vandaag nog!