Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

CONVERT_TZ - Cách thay đổi múi giờ MySQL trong truy vấn

Đôi khi bạn có thể cần chuyển đổi giá trị thời gian MySQL từ múi giờ này sang múi giờ khác. Dưới đây là cách thay đổi múi giờ MySQL trong truy vấn bằng cách sử dụng hàm convert_tz ().


Chuyển đổi múi giờ trong truy vấn MySQL

Chúng tôi sẽ sử dụng hàm CONVERT_TZ để thay đổi múi giờ MySQL trong truy vấn. Đây là cú pháp của hàm CONVERT_TZ.

convert_tz(value, from_timezone, to_timezone)

Trong hàm trên, bạn cần cung cấp giá trị thời gian được chuyển đổi, múi giờ bạn muốn chuyển đổi giá trị này và múi giờ bạn muốn chuyển đổi nó.

Bạn có thể chỉ định múi giờ làm hiệu số hoặc tên múi giờ.

Phần thưởng đọc:Cách thay đổi múi giờ máy chủ MySQL


Dưới đây là một ví dụ để chuyển đổi giá trị thời gian theo nghĩa đen từ UTC sang múi giờ EST, sử dụng chênh lệch múi giờ là ‘+00:00’ và ‘-05:00’ cho UTC và EST tương ứng.

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                                 |
+-----------------------------------------------------+

Bạn cũng có thể chỉ định múi giờ thay vì hiệu số. Tuy nhiên, trong trường hợp này, bạn sẽ cần tải xuống và cài đặt múi giờ MySQL trên máy chủ của mình. Dưới đây là một ví dụ để chuyển đổi EST thành múi giờ Paris bằng cách chỉ định tên múi giờ thay vì giá trị chênh lệch.

mysql> select convert_tz('2020-09-17 03:00:00','US/Eastern','Europe/Paris');

Phần thưởng Đọc:MySQL Hiển thị Chỉ mục trong Cơ sở dữ liệu


Bạn cũng có thể chuyển đổi các hàm ngày, giờ và thời gian ngày tháng của MySQL trong hàm CONVERT_TZ. Dưới đây là một ví dụ để thay đổi múi giờ của thời gian hiện tại có được bằng cách sử dụng hàm NOW (), từ UTC sang EST

mysql> select convert_tz(now(),'+00:00','-05:00');
+-------------------------------------+
| convert_tz(now(),'+00:00','-05:00') |
+-------------------------------------+
| 2020-09-17 04:45:07                 |
+-------------------------------------+

Phần thưởng Đọc:Cách so sánh cơ sở dữ liệu MySQL


Tương tự, bạn cũng có thể chuyển đổi các cột ngày, giờ, ngày giờ bằng convert_tz. Dưới đây là một ví dụ để thay đổi múi giờ của order_date trong doanh số bán hàng bảng, từ UTC đến 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                      |
+------------------------------------------+

Hy vọng rằng bây giờ bạn có thể thay đổi múi giờ MySQL trong truy vấn và chuyển đổi các giá trị ngày, giờ, datetime từ múi giờ này sang múi giờ khác.

Ubiq giúp dễ dàng trực quan hóa dữ liệu trong vài phút và theo dõi trong trang tổng quan thời gian thực. Thử nó ngay hôm nay!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL SELECT để lấy N số nguyên dương đầu tiên

  2. Hướng dẫn thiết kế cơ sở dữ liệu cho trình quản lý tác vụ trong MySQL

  3. Có sử dụng SET NAMES không

  4. Cách nâng cấp MySQL 5.5 lên 5.6 trên Ubuntu 14.04

  5. 7 cách tìm hàng trùng lặp khi bỏ qua khóa chính trong MySQL