sql >> Database >  >> RDS >> Mysql

CONVERT_TZ – Hoe de MySQL-tijdzone in Query te veranderen

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!

  1. Hoe UNHEX() werkt in MariaDB

  2. Die verdomd grote objecten

  3. Java SQL FOUT:Relatietabelnaam bestaat niet

  4. UPPER() – Converteren naar hoofdletters in PostgreSQL