私はこのようなテーブルを持っています:
match_name match_formatted_date
A vs B 28.10.2014
b vs c 26.10.2014
c vs d 18.10.2014
d vs e 30.09.2014
e vs f 27.09.2014
g vs h 19.09.2014
h vs j 28.08.2014
x vs y 26.08.2014
y vs z 07.08.2014
mysql:
SELECT `m`.* FROM `match` `m`
WHERE (m.match_formatted_date BETWEEN "24.10.2014" AND "31.10.2014")
ORDER BY `m`.`match_id` DESC
しかし、mysqlの戻り値は次のようになります。
A vs B 28.10.2014
b vs c 26.10.2014
d vs e 30.09.2014
e vs f 27.09.2014
h vs j 28.08.2014
x vs y 26.08.2014
私はこれだけを手に入れたい:
A vs B 28.10.2014
b vs c 26.10.2014
注:match_formatted_dateはvarcharであり、datetimeではありません。それが問題かどうか?
列と検索文字列の両方を日付型に変換する必要があります。
SELECT `m`.* `match` `m`
WHERE (str_to_date(m.match_formatted_date, '%d.%m.%Y') BETWEEN str_to_date("24.10.2014", '%d.%m.%Y') AND str_to_date("31.10.2014", '%d.%m.%Y'))
ORDER BY `m`.`match_id` DESC
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加