DATEIFF trong MySQL
Trong SQL Server, bạn có thể sử dụng hàm DATEDIFF để lấy chênh lệch ngày giờ trong các đơn vị được chỉ định. Trong MySQL, bạn có thể sử dụng hàm TIMESTAMPDIFF Show
Lưu ý rằng các giá trị đơn vị có thể khác nhau trong SQL Server DATEDIFF và MySQL TIMESTAMPDIFF. Máy chủ SQL -- Get difference in days SELECT DATEDIFF(dd, '2022-09-01', '2022-09-05'); # 4 mysql -- Get difference in days SELECT TIMESTAMPDIFF(day, '2022-09-01', '2022-09-05'); # 4 Bạn có thể ánh xạ các giá trị đơn vị giữa các hàm SQL Server DATEDIFF và MySQL TIMESTAMPDIFF như sau Trong SQL Server, bạn có thể chỉ định một số nguyên làm ngày bắt đầu. Trong trường hợp này, nó giả sử ngày 1900-01-01. Bạn phải chỉ định rõ ràng trong MySQL, bạn không thể sử dụng số nguyên Khi làm việc với dữ liệu khách hàng hoặc theo các dự án khoa học dữ liệu chuỗi thời gian, bạn sẽ thường thấy cần phải tính toán sự khác biệt giữa hai ngày trong các truy vấn MySQL của mình. Hàm Trong hướng dẫn SQL đơn giản này, tôi sẽ chỉ ra cách bạn có thể sử dụng Thiết lập máy chủ MySQL của bạnNếu bạn muốn tự chạy các truy vấn này bằng Python, trước tiên bạn cần có quyền truy cập vào máy chủ MySQL và cơ sở dữ liệu để truy vấn. Tôi chạy máy chủ MySQL của mình trong bộ chứa Docker và đã tạo cơ sở dữ liệu thử nghiệm dựa trên Bộ dữ liệu bán lẻ trực tuyến được sử dụng rộng rãi Tôi đã tạo một vài hướng dẫn từng bước mà bạn có thể làm theo để tạo bộ chứa MySQL Docker và nhập cơ sở dữ liệu MySQL vào bộ chứa Docker, vì vậy bạn có thể làm theo trên cùng một dữ liệu. Nó chỉ mất một vài phút Cài đặt và tải các góiTiếp theo, bạn sẽ cần cài đặt gói SQLAlchemy được sử dụng để truy vấn MySQL và các cơ sở dữ liệu khác thông qua Pandas và trình điều khiển PyMySQL để kết nối với máy chủ MySQL từ Python. Bạn có thể cài đặt những thứ này bằng trình quản lý gói Pip, sau đó nhập các mô-đun cần thiết vào sổ ghi chép Jupyter hoặc tập lệnh Python
Chọn ngày đặt hàng đầu tiên và cuối cùng của mỗi khách hàng
customer_idrevenueordersskusunitsfirst_order_datelast_order_date014646. 0279489. 02777031967192010-12-20 10. 09. 002011-12-08 12. 12. 00118102. 0256438. 4962151641222010-12-07 16. 42. 002011-12-09 11. 50. 00217450. 0187482. 1755127690292010-12-07 09. 23. 002011-12-01 13. 29. 00314911. 0132572. 622481794771802010-12-01 14. 05. 002011-12-08 15. 54. 00412415. 0123725. 4526444772422011-01-06 11. 12. 002011-11-15 14. 22. 00 Hàm MySQL Bạn có thể sử dụng Ví dụ: giả sử chúng tôi muốn tính xem đã bao nhiêu ngày kể từ khi mỗi khách hàng đặt đơn hàng đầu tiên. Chúng ta có thể làm điều này bằng cách chuyển vào hàm 0 làm đối số thứ hai như thế này. 1. Bạn có thể làm tương tự với 2 để tìm số ngày đã trôi qua kể từ lần cuối khách hàng đặt hàng________số 8_______ customer_idfirst_order_datelast_order_datedays_between_ordersdays_since_first_orderdays_since_last_order014646. 02010-12-20 10. 09. 002011-12-08 12. 12. 0035341453792118102. 02010-12-07 16. 42. 002011-12-09 11. 50. 0036741583791217450. 02010-12-07 09. 23. 002011-12-01 13. 29. 0035941583799314911. 02010-12-01 14. 05. 002011-12-08 15. 54. 0037241643792412415. 02011-01-06 11. 12. 002011-11-15 14. 22. 0031341283815 Làm cách nào để sử dụng Datediff trong MySQL?Hàm DATEDIFF() trong MySQL được sử dụng để trả về số ngày giữa hai giá trị ngày được chỉ định. . cú pháp. DATEDIFF(ngày 1, ngày 2) Tham số. Chức năng này chấp nhận hai tham số như đưa ra dưới đây trả lại. . ví dụ 1. . đầu ra. 19 ví dụ 2. . đầu ra. -7 ví dụ 3 Làm cách nào để tính ngày trong MySQL?Sử dụng hàm DATEDIFF() để truy xuất số ngày giữa hai ngày trong cơ sở dữ liệu MySQL . Hàm này nhận hai đối số. ngày kết thúc. (Trong ví dụ của chúng tôi, đó là cột ngày hết hạn. )
Làm cách nào để tìm sự khác biệt giữa hai cột trong MySQL?Đây là truy vấn SQL chung cho hai cột so sánh (cột1, cột2) trong một bảng (bảng1). mysql> select * from table1 where column1 not in (select column2 from table1); Trong truy vấn trên, hãy cập nhật table1, column1 và column2 theo yêu cầu của bạn.
Chúng ta có thể trừ hai ngày trong MySQL không?Định nghĩa và cách sử dụng
. The DATE_SUB() function subtracts a time/date interval from a date and then returns the date. |