Hôm nọ, tôi phải nhanh chóng lấy một số thống kê từ bảng cơ sở dữ liệu. Tôi cần xác định thời gian trung bình để chạy các công việc trong hệ thống xếp hàng. Để làm được điều này, tôi đã sử dụng các phương pháp chênh lệch múi giờ của MySQL. Tôi nghĩ rằng tôi sẽ chia sẻ cách các phương pháp này hoạt động và cách tôi triển khai chúng Show Để tính toán sự khác biệt giữa hai ngày, MySQL cung cấp cho chúng tôi hai phương pháp khác nhau. DẤU THỜI GIANPhương thức này trả về chênh lệch giữa hai ngày theo đơn vị được cung cấp làm tham số đầu tiên. Ví dụ: nếu chúng tôi muốn biết sự khác biệt giữa hai ngày tính bằng giây
Điều này tính toán Các đơn vị có thể là bất kỳ một trong những điều sau đây. FRAC_SECOND (micro giây), GIÂY, PHÚT, GIỜ, NGÀY, TUẦN, THÁNG, QUÝ hoặc NĂM Ngày được truyền cho phương thức này không cần phải cùng loại. Một cái có thể là DATETIME và cái kia là NGÀY. Nếu cột có loại NGÀY thì nó sẽ được coi là có thời gian nửa đêm TIMEDIFFPhương thức này trả về sự khác biệt giữa hai ngày được định dạng là
Giống như Không giống như Một ví dụ thực tếBây giờ chúng ta đã thiết lập cách sử dụng các phương thức chênh lệch múi giờ của MySQL, hãy xem xét một trường hợp sử dụng thực tế Như tôi đã đề cập lúc đầu, tôi cần kiểm tra xem hàng đợi của mình mất bao lâu để xử lý công việc. Tôi có một bảng queued_t task chứa thông tin chi tiết về các tác vụ nền. Sử dụng
Điều này đã cho tôi phạm vi thời gian chạy cho hàng đợi của tôi Sau đó, tôi có thể sử dụng Toán tử 2 chọn các giá trị trong một phạm vi nhất định. Các giá trị có thể là số, văn bản hoặc ngày thángToán tử 2 bao hàm. giá trị bắt đầu và kết thúc được bao gồm. Cú pháp GIỮACHỌN(các) tên_cột Cơ sở dữ liệu demoDưới đây là một lựa chọn từ bảng "Sản phẩm" trong cơ sở dữ liệu mẫu của Northwind Sản phẩmIDSản phẩmTênNhà cung cấpIDDanh mụcIDUnitGiá1Chais1110 hộp x 20 túi182Chang1124 - chai 12 oz193Aniseed Syrup1212 - chai 550 ml104Gia vị Chef Anton's Cajun1248 - lọ 6 oz225Chef Anton's Gumbo Mix1236 hộp21. 35 GIỮA Ví dụCâu lệnh SQL sau đây chọn tất cả các sản phẩm có giá từ 10 đến 20 KHÔNG GIỮA Ví dụĐể hiển thị các sản phẩm nằm ngoài phạm vi của ví dụ trước, hãy sử dụng 4GIỮA với IN Ví dụCâu lệnh SQL sau đây chọn tất cả các sản phẩm có giá từ 10 đến 20. Thêm vao Đoa; Ví dụCHỌN * TỪ Sản phẩm GIỮA Giá trị văn bản Ví dụCâu lệnh SQL sau đây chọn tất cả các sản phẩm có ProductName nằm giữa Carnarvon Tigers và Mozzarella di Giovanni Ví dụCHỌN * TỪ SẢN PHẨM Câu lệnh SQL sau đây chọn tất cả các sản phẩm có ProductName nằm giữa Carnarvon Tigers và Chef Anton's Cajun Seasoning Ví dụCHỌN * TỪ SẢN PHẨM KHÔNG GIỮA Giá trị văn bản Ví dụCâu lệnh SQL sau đây chọn tất cả các sản phẩm có ProductName không nằm giữa Carnarvon Tigers và Mozzarella di Giovanni Ví dụCHỌN * TỪ SẢN PHẨM Bảng mẫuDưới đây là một lựa chọn từ bảng "Đơn hàng" trong cơ sở dữ liệu mẫu của Northwind OrderIDCustomerIDEemployeeIDOrderDateShipperID102489057/4/19963102498167/5/19961102503447/8/19962102518437/9/19961102527647/10/19962 GIỮA NGÀY Ví dụCâu lệnh SQL sau đây chọn tất cả các đơn đặt hàng có OrderDate trong khoảng từ '01- July-1996' đến '31- July-1996' Ví dụCHỌN * TỪ ĐƠN HÀNG HOẶC Ví dụCHỌN * TỪ ĐƠN HÀNG Kiểm tra bản thân với các bài tậpTập thể dụcSử dụng toán tử 2 để chọn tất cả các bản ghi có giá trị của cột 6 nằm trong khoảng từ 10 đến 20 |