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

日付付きの句間でMySqlを使用する

    時間、分、秒が含まれる場合、Fabioは実際には正しくありません

    where date >= '2013-06-01' and date <= '2013-06-06'
    

    内部的になります

    where date >= '2013-06-01 00:00:00' and date <= '2013-06-06 00:00:00'
    

    したがって、実際には2013-06-06の1秒を選択するだけで、ではありません 一日中!

    もちろんBETWEENも同じです。 2013-06-06の一日を取得するには、書く必要があります

    where date >= '2013-06-01' and date <= '2013-06-06 23:59:59'
    

    または

    where date BETWEEN '2013-06-01' AND '2013-06-06 23:59:59'
    

    さあ、自分で試してみてください(または、sqlfiddle でライブをご覧ください。 ):

    create table foo (my_date date, my_timestamp timestamp, my_datetime datetime);
    insert into foo values ('2013-06-06', '2013-06-06 12:23:34', '2013-06-06 13:35:48');
    
    select * from foo
    where
    my_date <= '2013-06-06'; /*returns row*/
    
    select * from foo
    where
    my_timestamp <= '2013-06-06'; /*does NOT return row*/
    
    select * from foo
    where
    my_datetime <= '2013-06-06'; /*does NOT return row*/
    
    select * from foo
    where
    my_timestamp <= '2013-06-06 23:59:59';  /*returns row*/
    
    select * from foo
    where
    my_datetime <= '2013-06-06 23:59:59';  /*returns row*/
    


    1. Python:MySQL接続は開いていますが、カーソルを作成できません

    2. mysqlで単一の行を複数の列に分割する方法

    3. MySQLのスコア順に並べられた、さまざまなカテゴリの結果の混合

    4. アップロードされたファイル(サウンド、写真、ビデオ)を保存する場所