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

DATETIME VS INT cho thời gian lưu trữ?

Tôi sẽ không sử dụng INT hoặc TIMESTAMP để lưu các giá trị ngày giờ của bạn. Có "Sự cố năm 2038" ! Bạn có thể sử dụng DATETIME và lưu thời gian hẹn hò của bạn trong một thời gian dài.

Với TIMESTAMP hoặc các loại cột số, bạn chỉ có thể lưu trữ một phạm vi năm từ 1970 đến 2038. Với DATETIME loại bạn có thể lưu ngày với năm từ 1000 đến 9999.

không nên sử dụng loại cột số (INT ) để lưu trữ thông tin ngày giờ. MySQL (và các hệ thống khác nữa) cung cấp nhiều chức năng để xử lý thông tin ngày giờ. Các hàm này nhanh hơn và được tối ưu hóa hơn các hàm hoặc tính toán tùy chỉnh: https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html

Để chuyển đổi múi giờ của giá trị được lưu trữ của bạn thành múi giờ ứng dụng khách, bạn có thể sử dụng CONVERT_TZ . Trong trường hợp này, bạn cần biết múi giờ của máy chủ và múi giờ của máy khách. Để nhận múi giờ của máy chủ, bạn có thể thấy một số khả năng có thể có trên câu hỏi này .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tương đương của varchar (max) trong MySQL?

  2. mysqldump chỉ xuất một bảng

  3. Hủy yêu cầu AJAX đang chờ xử lý trong ứng dụng PHP?

  4. Hibernate, C3P0, Mysql - Đường ống bị hỏng

  5. Bảng tra cứu quan trọng như thế nào?