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

varchar日時比較の問題

    Varcharの日付は悪であり、実際の日付ではありません。最善の解決策は、mysqlのネイティブの日付データ型を使用することです。

    データ型は変更できないため、str_to_date()を使用できます。 機能とその仕組み

    mysql> select str_to_date('01/08/2015','%d/%m/%Y') as d ;
    +------------+
    | d          |
    +------------+
    | 2015-08-01 |
    +------------+
    

    したがって、selectのクエリは

    select * from table_name
    where
    str_to_date(date_column,'%d/%m/%Y')
    between
    str_to_date('01/08/2015','%d/%m/%Y')
    and
    str_to_date('01/10/2015','%d/%m/%Y')
    


    1. 25行目のエラー1030​​(HY000):ストレージエンジンからエラー168を取得しました

    2. データベースからbase64画像を取得する

    3. MySQLが最適なインデックスを使用しないのはなぜですか

    4. 接続ごとに複数のトランザクションを持つMySQLdb