2016-06-15 3 views
1

日付の日付の列を日付に変換し、特定の日のすべての行を取得しようとしています。しかし、それを試してみてください。クエリは、このコード 日付(arefresh_time)= '2016年6月11日'MySQLの日付でフィルタする

+0

データと実際のクエリ(または両方の妥当なファクシミリ)を示した場合は、役立ちます。 – Uueerdo

+0

はあまりにもひどく見えません。彼のコードにはバックティックがあり、質問の書式設定が荒くなります。あなたはそのデータが不足しているかもしれません。あるいは、あなたは11月6日にイギリス人を探しています。 – Drew

答えて

0

しないでくださいと間違っている.What 0行を返します! Answer from @scaisEdgeのようなWHERE節のフィールドに関数を使用してください。このサンプルのようにすると、MySQLはテーブル内のすべての行を読み込み、関数で変換して比較する必要があります。そしてこの

SAMPLEのように使用することをお勧めし、迅速であれば、インデックス

を使用することはできませんでし

WHERE `a`.`refresh_time` >= '2016-06-11 00:00:00' AND `a`.`refresh_time` <= '2016-06-11 23:59:59'; 

OR

WHERE `a`.`refresh_time` BETWEEN '2016-06-11 00:00:00' AND '2016-06-11 23:59:59'; 

だから、MySQLは使用aを指示することができます適切な行を見つけるためのINDEX

SELECTの前にEXPLAINでテストできます。

0

使用正しいDATE_FORMAT

where date_format(`a`.`refresh_time`'%Y-%m-%d') = '2016-06-11' 
+0

ありがとうございました! – user1721546

+0

あなたは私に感謝しています..あなたが私のアンサーが役に立ったと思うなら、あなたはそれを評価することができます.. – scaisEdge