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

Điều kiện ngày sử dụng logic Tìm kiếm

Một phần lớn vấn đề của bạn dường như đang xảy ra bởi vì bạn đang chuyển đổi chuỗi thành ngày tháng và ngày trở lại chuỗi. Tôi tin rằng bạn có thể làm được nhiều hơn những gì bạn cần.

Các biểu mẫu HTML không thực sự "hiểu" ngày tháng - chúng chỉ "hiểu" các chuỗi. Vì vậy, nó là ok để chuyển chúng chuỗi thay vì ngày. Nói cách khác, bạn có thể xóa to_date .

<% form_for @search do |f| %>
    <%= f.label :start %>
    <%= f.select :due_at_after,
          ['November', '2009-11-01'],['December', '2009-12-01']],
          :include_blank => true
    %>
    <br/>
    <%= f.label :end %>
    <%= f.select :due_at_before,
          [['December', '2009-12-01'],['January', '2010-01-01']],
          :include_blank => true
    %>
    <%= f.submit 'Search' %>
<% end %>

Ngoài ra, tôi thích sử dụng :include_blank => true thay vì [['','']] (theo ý kiến ​​của tôi, con người dễ đọc hơn) và tôi đã sử dụng <br/> đã đóng (nội dung html chuẩn - có thể bạn đã mắc lỗi đánh máy?).

Nhân tiện, nếu bạn muốn chỉ định Ngày, bạn có thể sử dụng hàm tạo Ngày. Viết ngắn hơn và thực thi nhanh hơn so với tạo một chuỗi và phân tích cú pháp ngày từ nó.

#Date(2009,11,1) is faster, shorter, and equivalent
Date(2009,11,1) == '2009-11-01'.to_date # --> true


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách chuyển tất cả cơ sở dữ liệu MySQL từ máy chủ cũ sang máy chủ mới

  2. Chèn dữ liệu được mã hóa json vào mysql

  3. MariaDB:Tôi có thể lấy lại các tên cột trùng lặp mà không sử dụng 'AS' không

  4. thứ tự bảng chữ cái mysql

  5. Mã định danh MySQL Big FK