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

Chọn hồ sơ theo thời gian trong khoảng thời gian từ 12:00:00 đến 18:00:00 hàng ngày

Bạn có hai vấn đề ở đây:

  1. Bạn không thể tham chiếu đến bí danh cột trong mệnh đề where. Thay vào đó, bạn phải lặp lại phép tính của mình trong mệnh đề where
  2. Sử dụng TIME() chức năng trích xuất phần thời gian của dữ liệu

Với hai vấn đề đó được giải quyết, bạn nhận được:

select
    f.fly_reg,
    TIME(f.start_tid) AS st,
    f.start_hight 
    FROM vbsk_dk_02.fab_master_flyvedata f 
where TIME(f.start_tid) between '12:00:00' AND '18:00:00'

Là một tùy chọn, nếu bạn không thực sự cần giá trị thời gian trong vùng chọn, bạn có thể loại bỏ nó và chỉ có nó trong mệnh đề where. Ngoài ra, bạn có thể sử dụng HOUR() hoạt động nếu phù hợp hơn. Với hai thay đổi đó, truy vấn của bạn sẽ đơn giản hóa thành:

select *
FROM vbsk_dk_02.fab_master_flyvedata
where HOUR(f.start_tid) between 12 and 18

gọn gàng hơn rất nhiều :)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Python pandas to_sql 'append'

  2. Ứng dụng web [] dường như đã bắt đầu một chuỗi có tên [Chuỗi dọn dẹp kết nối bị bỏ rơi] com.mysql.jdbc.AbandonedConnectionCleanupThread

  3. Làm thế nào để so sánh hai trường / cột trong một điều kiện?

  4. Liên kết hai bảng với các danh mục trong một truy vấn truy xuất các danh mục và cha mẹ của nó

  5. Trình tạo truy vấn Doctrine DATE_FORMAT không hoạt động