MySQLの日付範囲間のデータを選択するにはどうすればよいですか。私のdatetime
列は24時間制のズールー時間形式です。
select * from hockey_stats
where game_date between '11/3/2012 00:00:00' and '11/5/2012 23:59:00'
order by game_date desc;
これらの期間の間にデータがあっても何も返しません。 'from'および'to'フィールドの値をクエリのdatetime
タイプに強制する必要がありますか?
日付形式を更新する必要があります。
select * from hockey_stats
where game_date between '2012-03-11 00:00:00' and '2012-05-11 23:59:00'
order by game_date desc;
日付関数を使用した簡単な方法を次に示します。
select *
from hockey_stats
where date(game_date) between date('2012-11-03') and date('2012-11-05')
order by game_date desc
簡単な方法:
select * from hockey_stats
where game_date >= '2012-03-11' and game_date <= '2012-05-11'
おそらく STR_TO_DATE 関数を使用する必要があります。
select * from hockey_stats
where
game_date between STR_TO_DATE('11/3/2012 00:00:00', '%c/%e/%Y %H:%i:%s')
and STR_TO_DATE('11/5/2012 23:59:00', '%c/%e/%Y %H:%i:%s')
order by game_date desc;
(game_dateが文字列の場合、STR_TO_DATEを使用する必要があるかもしれません)
MySQLの日付形式は、Y-M-Dです。 Y/M/Dを使用しています。それは間違っています。クエリを変更します。
Y/M/Dなどの日付を挿入すると、データベースにNULL値が挿入されます。
PHPを使用しており、フォームから取得する日付がこのY/M/Dのような場合、ステートメントを使用してこれを置き換えることができます。
out_date=date('Y-m-d', strtotime(str_replace('/', '-', $data["input_date"])))
簡単な方法で、次のようにクエリできます
select * from hockey_stats
where game_date between '2018-01-01' and '2018-01-31';
これは、時間が問題にならない場合に機能します。
次の方法でも時間を考慮してください。select * from hockey_stats where(game_date between between '2018-02-05 01:20:00' and '2018-02-05 03:50:00');これはMySQLサーバー用です。
データベースにそのgame_dateデータを挿入する方法について、日付ディフェンスを検索する必要があります。たとえば、長い日付または短い日付値を挿入した場合。
SELECT * FROM hockey_stats WHERE game_date >= "6/11/2018" AND game_date <= "6/17/2018"
BETWEENを使用することもできます:
SELECT * FROM hockey_stats WHERE game_date BETWEEN "6/11/2018" AND "6/17/2018"
そのような単純な。
STR_TO_DATE functionを使用して、投稿した形式に基づいて独自の日付パラメーターを渡すことができます。
select * from hockey_stats where game_date
between STR_TO_DATE('11/3/2012 00:00:00', '%c/%e/%Y %H:%i:%s')
and STR_TO_DATE('11/5/2012 23:59:00', '%c/%e/%Y %H:%i:%s')
order by game_date desc;
または、MySQLが日付YYYY:MM:DD HH:mm:SSを処理する形式を使用し、クエリを
select * from hockey_stats where game_date between '2012-03-11 00:00:00' and'2012-05-11 23:59:00' order by game_date desc;