sql >> Database >  >> RDS >> Mysql

CONVERT_TZ() Voorbeelden – MySQL

In MySQL kunt u een datetime-waarde tussen de ene tijdzone naar de andere converteren met behulp van de CONVERT_TZ() functie. Deze functie accepteert 3 argumenten; de datetime-waarde, de oorspronkelijke tijdzone en de tijdzone waarnaar moet worden geconverteerd.

Syntaxis en voorbeelden hieronder.

Syntaxis

Dit is de syntaxis:

CONVERT_TZ(dt,from_tz,to_tz)

Waar dt is de datum/tijd, from_tz is de originele tijdzone, en to_tz is de tijdzone waarnaar moet worden geconverteerd.

Voorbeeld

Hier is een gebruiksvoorbeeld.

SELECT CONVERT_TZ('2020-12-01 01:00:00','+00:00','+08:00') AS Result;

Resultaat:

+---------------------+
| Result              |
+---------------------+
| 2020-12-01 09:00:00 |
+---------------------+

Benoemde tijdzones

U kunt ook benoemde tijdzones gebruiken, zoals 'US/Eastern' , 'Europe/Moscow' , 'MET' , enz.

Om dit te doen, moet u eerst de tijdzonetabellen instellen. De MySQL-installatieprocedure maakt de tijdzonetabellen aan, maar laadt ze niet. Daarom moet u deze tabellen eerst invullen.

Als u met deze functie een benoemde tijdzone probeert te gebruiken zonder eerst de tijdzonetabellen in te vullen, krijgt u een null-waarde.

SELECT CONVERT_TZ('2020-12-01 01:00:00','Europe/Helsinki','US/Eastern') AS Result;

Resultaat:

+--------+
| Result |
+--------+
| NULL   |
+--------+

Houd er rekening mee dat zelfs als u de tijdzonetabellen vult, u ze mogelijk regelmatig moet bijwerken. De informatie kan namelijk af en toe wijzigen. Zie voor meer informatie hierover MySQL Server Time Zone Support op de MySQL-documentatiewebsite.


  1. Meerdere array_agg()-aanroepen in een enkele query

  2. Hoe waarden dynamisch doorgeven aan de IN-operator?

  3. Er treedt een time-out op bij de query wanneer deze wordt uitgevoerd vanaf het web, maar supersnel wanneer deze wordt uitgevoerd vanaf SSMS

  4. Getallen opmaken als Romeinse cijfers in Oracle