Nogle gange skal du muligvis konvertere MySQL-tidsværdi fra en tidszone til en anden. Her er, hvordan du ændrer MySQL-tidszone i forespørgsel ved hjælp af funktionen convert_tz().
Konverter tidszone i MySQL-forespørgsel
Vi vil bruge CONVERT_TZ-funktionen til at ændre MySQL-tidszone i forespørgslen. Her er syntaksen for CONVERT_TZ-funktionen.
convert_tz(value, from_timezone, to_timezone)
I ovenstående funktion skal du angive den tidsværdi, der skal konverteres, den tidszone, du vil konvertere denne værdi fra, og den tidszone, som du vil konvertere den til.
Du kan angive tidszoner som forskydninger eller tidszonenavne.
Bonus Læs:Sådan ændres MySQL-serverens tidszone
Her er et eksempel på at konvertere en bogstavelig tidsværdi fra UTC til EST-tidszone ved at bruge tidszoneforskydninger på '+00:00' og '-05:00' for henholdsvis UTC og 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 også angive tidszoner i stedet for forskydninger. Men i dette tilfælde skal du downloade og installere MySQL-tidszoner på din server. Her er et eksempel på at konvertere EST til Paris-tidszone ved at angive tidszonenavne i stedet for offset-værdier.
mysql> select convert_tz('2020-09-17 03:00:00','US/Eastern','Europe/Paris');
Bonus Læs:MySQL Vis indekser i database
Du kan også konvertere MySQL dato, klokkeslæt og dato klokkeslæt funktioner i CONVERT_TZ funktion. Her er et eksempel på at ændre tidszone for aktuel tid opnået ved hjælp af funktionen NOW() fra UTC til 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:Sådan sammenligner du MySQL-databaser
På samme måde kan du også konvertere dato, tid, dato og klokkeslæt kolonner ved hjælp af convert_tz. Her er et eksempel på ændring af tidszone order_date kolonne i salg tabel, fra UTC til 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 | +------------------------------------------+
Forhåbentlig kan du nu ændre MySQL-tidszone i forespørgslen og konvertere dato, klokkeslæt, datetime-værdier fra en tidszone til en anden.
Ubiq gør det nemt at visualisere data på få minutter og overvåge i dashboards i realtid. Prøv det i dag!