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

MySQL CONVERT_TZ ()

Nếu điều này cho kết quả là null thì các bảng TZ chưa được thiết lập:

SELECT CONVERT_TZ(now(),'US/Eastern','US/Central');

Nếu bạn chưa thiết lập bảng múi giờ, bạn có thể cập nhật bộ houroffset trong bảng người dùng và sau đó thực hiện:

select utc_timezone() - interval user_timezone_offset_in_hours hour
from userinfo a
where user_id = 999;

Tuy nhiên, bạn vẫn cần một cách để cập nhật múi giờ của người dùng.

Nếu bạn đang viết điều này cho một ứng dụng web, bạn có thể lấy múi giờ thông qua javascript, đây là bài viết mô tả cách thực hiện (chưa thử cách này nhưng có vẻ như nó sẽ hoạt động).

Giải thích một chút về 'khoảng thời gian' ở trên ...

Một trong những cấu trúc thủ thuật khác trong MySQL là sử dụng INTERVAL từ khóa, được hiển thị tốt nhất bằng ví dụ (giá trị số có thể là một biểu thức hoặc giá trị trường)

select now() today, now() - interval 1 day yesterday;
+---------------------+---------------------+
| today               | yesterday           |
+---------------------+---------------------+
| 2011-05-26 13:20:55 | 2011-05-25 13:20:55 |
+---------------------+---------------------+

Bạn có thể thêm và trừ chúng theo cách nào bạn thích, đây là lý do tại sao tôi không bao giờ bận tâm với ngày / giờ cộng / trừ / chuyển đổi các chức năng

select now() a, now() - interval 1 day + interval 4 hour + interval 8 minute b;
+---------------------+---------------------+
| a                   | b                   |
+---------------------+---------------------+
| 2011-05-26 13:24:16 | 2011-05-25 17:32:16 |
+---------------------+---------------------+

Bạn có thể sử dụng các số âm (sẽ tốt cho việc chênh lệch múi giờ âm), chúng giống nhau:

select now() - interval 1 month a, now() + interval -1 month b;
+---------------------+---------------------+
| a                   | b                   |
+---------------------+---------------------+
| 2011-04-26 13:38:05 | 2011-04-26 13:38:05 |
+---------------------+---------------------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Không thể xóa hoặc cập nhật hàng mẹ:ràng buộc khóa ngoại không thành công

  2. Cập nhật truy vấn để cập nhật hàng trong MySQL

  3. FIND_IN_SET () so với IN ()

  4. Không thể trả về kết quả từ thủ tục được lưu trữ bằng con trỏ Python

  5. Làm thế nào để sử dụng MySQLdb với Python và Django trong OSX 10.6?