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

Sử dụng thời gian IST trong truy vấn mysql

Bạn có thể truy xuất cài đặt múi giờ cho phiên MySQL hiện tại bằng câu lệnh SQL:

mysql> SELECT @@session.time_zone;

Nếu DBA chưa đặt múi giờ trên MySQL, nó sẽ mặc định thành giá trị là SYSTEM , đại diện cho múi giờ trên hệ điều hành.

http://dev.mysql.com/doc /refman/5.5/en/time-zone-support.html

THEO DÕI:

Trong một vị từ như trong câu lệnh SQL mẫu của bạn:

select * from mytable where dt > current_ist_datetime

(đã cho dtcurrent_ist_datetime của loại dữ liệu DATETIME ) việc so sánh các giá trị sẽ độc lập với bất kỳ chuyển đổi múi giờ nào, vì không có thông tin múi giờ nào được liên kết với DATETIME giá trị.

Nghĩa là, giá trị được trả về từ một cột kiểu dữ liệu DATETIME không bị ảnh hưởng bởi cài đặt múi giờ của máy chủ MySQL (SELECT @@global.time_zone ) hoặc của phiên MySQL (SELECT @@session.time_zone ).

Giá trị được trả về bởi NOW() tuy nhiên, chức năng sẽ bị ảnh hưởng bởi cài đặt múi giờ của phiên.

Để trả lại số tiền đó trong IST, hãy đảm bảo múi giờ cho phiên được chỉ định chính xác, ví dụ:

SET VARIABLES time_zone = "+05:30"

(N.B. Nếu phiên được truy xuất và trả về từ nhóm kết nối, những người dùng khác của nhóm có thể không mong đợi múi giờ khác; ...)

(LƯU Ý:phần trên hoàn toàn bỏ qua sự nhầm lẫn do trình điều khiển JDBC gây ra, gây ra bởi "sự không khớp trở kháng" (sự khác biệt) giữa việc triển khai kiểu dữ liệu DATETIME của MySQL và việc triển khai đối tượng Date của Java. Nếu bạn đang chuyển các giá trị DATETIME qua kết nối JDBC, đó là toàn bộ 'quả bóng nhầm lẫn.)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cách cung cấp cùng một số sê-ri cho nhóm bản ghi trong mysql

  2. Loại trừ các giá trị nhất định khi chia giá trị cố định cho các quốc gia dựa trên chia sẻ doanh thu hàng ngày

  3. PHP MySQL INSERT không thành công do ràng buộc duy nhất

  4. Cách kết nối với cơ sở dữ liệu MySQL hoặc MariaDB

  5. Truy vấn MSQL cho người chiến thắng, bắt đầu từ vị trí thứ x bằng cách sử dụng SELECT