Ibland kan du behöva konvertera MySQL-tidsvärde från en tidszon till en annan. Så här ändrar du MySQL-tidszon i fråga med funktionen convert_tz().
Konvertera tidszon i MySQL-fråga
Vi kommer att använda CONVERT_TZ-funktionen för att ändra MySQL-tidszon i frågan. Här är syntaxen för CONVERT_TZ-funktionen.
convert_tz(value, from_timezone, to_timezone)
I funktionen ovan måste du ange tidsvärdet som ska konverteras, tidszonen från vilken du vill konvertera detta värde och tidszonen som du vill konvertera det till.
Du kan ange tidszoner som förskjutningar eller tidszonnamn.
Bonus Läs:Hur man ändrar MySQL-serverns tidszon
Här är ett exempel för att konvertera ett bokstavligt tidsvärde från UTC till EST-tidszon, med tidszonförskjutningar på '+00:00' och '-05:00' för UTC respektive 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 | +-----------------------------------------------------+
Du kan också ange tidszoner istället för förskjutningar. Men i det här fallet måste du ladda ner och installera MySQL-tidszoner på din server. Här är ett exempel för att konvertera EST till Paris tidszon genom att ange tidszonsnamn istället för offsetvärden.
mysql> select convert_tz('2020-09-17 03:00:00','US/Eastern','Europe/Paris');
Bonusläsning:MySQL Visa index i databasen
Du kan också konvertera MySQL datum, tid och datum tid funktioner i CONVERT_TZ funktion. Här är ett exempel för att ändra tidszon för aktuell tid erhållen med NOW()-funktionen, från UTC till EST
mysql> select convert_tz(now(),'+00:00','-05:00'); +-------------------------------------+ | convert_tz(now(),'+00:00','-05:00') | +-------------------------------------+ | 2020-09-17 04:45:07 | +-------------------------------------+
Bonus Läs:Hur man jämför MySQL-databaser
På samma sätt kan du också konvertera kolumner för datum, tid, datum och tid med convert_tz. Här är ett exempel på hur du ändrar tidszon för order_date kolumnen i försäljning tabell, från UTC till 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 | +------------------------------------------+
Förhoppningsvis kan du nu ändra MySQL-tidszon i frågan och konvertera datum, tid, datetime-värden från en tidszon till en annan.
Ubiq gör det enkelt att visualisera data på några minuter och övervaka i realtidsinstrumentpaneler. Prova det idag!