sql >> データベース >  >> RDS >> Mysql

検索ロジックを使用した日付条件

    文字列を日付に変換し、日付を文字列に戻すため、問題の大部分が発生しているようです。必要以上にやっているのではないかと思います。

    HTMLフォームは、実際には日付を「理解」するのではなく、文字列を「理解」するだけです。したがって、日付の代わりに文字列を渡してもかまいません。つまり、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 %>
    

    また、:include_blank => trueを使用することをお勧めします [['','']]の代わりに (私の意見では、より人間が読める形式です)、閉じた<br/>を使用しました タグ(標準のhtmlのもの-タイプミスをしたかもしれませんか?)

    ちなみに、Dateを指定したい場合は、Dateコンストラクターを使用できます。文字列を作成してそこから日付を解析するよりも、書き込みが短く、実行が高速です。

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


    1. crfclust.bdbからの高いスペース使用量

    2. 空間ポイントタイプを使用したMySQLへのLatLng値の保存

    3. MySQLテキスト列が切り捨てられています

    4. LEFTJOINとINNERJOINを使用して挿入します