sql >> Databasteknik >  >> RDS >> Mysql

CONVERT_TZ – Hur man ändrar MySQL-tidszon i Query

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!

  1. Minska databasanrop för att förbättra webbplatsens prestanda

  2. selectionArgs i SQLiteQueryBuilder fungerar inte med heltalsvärden i kolumner

  3. MySQL-datumformat – vad du behöver veta

  4. Använd IDENT_CURRENT() för att returnera det aktuella identitetsvärdet på en identitetskolumn i SQL Server