2017-03-18 13 views
0

mySQLテーブルから2つの日付以内にデータを取得しようとしています。 「日付」列のデータ型は文字列です。私のMySQLのクエリは文字列データ型でmySQLの日付を照会する方法

SELECT * FROM `accounts` WHERE date between STR_TO_DATE('01/03/2017', '%d/%m/%Y') and STR_TO_DATE('20/03/2017', '%d/%m/%Y') 

です。書いたら、

SELECT * FROM `accounts` WHERE date between '01/03/2017' and '20/03/2017' 

ほとんどすべてのデータが必要です。ここにスクリーンショットがあります。あなたの「日付」データ型が文字列の場合

Screen

+0

のようなものを使用することができ

? – GurV

答えて

1

は、クエリ文字列比較を使用します。日付比較をしたい場合は、日付の列も日付のデータ型に変換する必要があります(STR_TO_DATE(日付、 '%d /%m /%Y'))。あなたの日付列のデータ型である何この

SELECT * FROM `accounts` 
    WHERE STR_TO_DATE(date, '%d/%m/%Y') BETWEEN 
     STR_TO_DATE('01/03/2017', '%d/%m/%Y') AND 
     STR_TO_DATE('20/03/2017', '%d/%m/%Y') 
関連する問題