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

MySQL chọn DATETIME tương tự đến phút

Biểu thức MySql này sẽ trả lại cho bạn các giá trị DATETIME với số giây bị xóa.

CONVERT(DATE_FORMAT(table.column,'%Y-%m-%d-%H:%i:00'),DATETIME)

Hãy xem này. https:// dev .mysql.com / doc / refman / 8.0 / vi / date-and-time-functions.html # function_date-format . Vì vậy, bạn có thể kết thúc với một truy vấn như sau:

SELECT Table1.TimeSTamp1, Table1.Param1, Table2.TimeStamp2, Table2.Param2 
    FROM Table1
    JOIN Table2 ON  CONVERT(DATE_FORMAT(Table1.TimeStamp1,'%Y-%m-%d-%H:%i:00'),DATETIME)
                 =  CONVERT(DATE_FORMAT(Table2.TimeStamp2,'%Y-%m-%d-%H:%i:00'),DATETIME)
    WHERE ... conditions for the other parameters of Table1 and Table2... 

Nhưng hãy cẩn thận. Dấu thời gian được tạo tự động giống như số dấu phẩy động; Khi hai người trong số họ trở mặt bằng nhau thì đó chỉ là may mắn. Cắt ngắn dấu thời gian của bạn đến từng phút có thể được, nhưng bạn cũng có thể tốt hơn nên trừ một dấu thời gian này cho một dấu thời gian khác và so sánh sự khác biệt (hoặc giá trị tuyệt đối của sự khác biệt).

Ngoài ra, phép nối này sẽ chậm vì nó phải chạy hàm cắt bớt thứ hai trên mọi giá trị, vì vậy nó không thể sử dụng bất kỳ chỉ mục nào.

Bạn có thể trừ một dấu thời gian này cho một dấu thời gian khác bằng TIMESTAMPDIFF() . Nhưng hãy cẩn thận. Chức năng này chỉ hoạt động chính xác ở mức giây cho các dấu thời gian cách nhau vài ngày; nó tràn ra một cách vô hạn (như tôi đã phát hiện ra một cách vô cùng đau đớn).

Bạn có thể thử cắt ngắn các dấu thời gian thành phút tại thời điểm bạn chèn chúng. Điều đó sẽ cho phép bạn lập chỉ mục chúng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để tách chuỗi bản ghi được phân tách bằng dấu phẩy và sắp xếp sau đó tuần tự trong MySQL?

  2. php tải lên hình ảnh và lưu tên tệp vào mysql

  3. Mysql ... Truy vấn không thể?

  4. Nhận giản đồ cơ sở dữ liệu với một truy vấn?

  5. MySQL concat () để tạo tên cột được sử dụng trong một truy vấn?