-1

問題: ユーザーが指定した月の値に基づいて MySql の行を選択したいのですが、チェックはすべてのレコードを調べて、各日付列を月ごとにチェックする必要があります。テーブルがあります

id int(4), date date 

今、selectステートメントを使用してこのデータを取得したいのですが、selectステートメントでは、ユーザーが月に値を指定したため、日付全体ではなく月ごとに日付をチェックしたいです! 日付全体。

たとえば、次のようなクエリを作成したいとします。

select * 
  from `Table` 
 where id=123 
   And date = "value in month"

どうもありがとう。

4

2 に答える 2

0

パーツを使用してくださいMONTH

SELECT ...
WHERE MONTH(date) = 5
于 2013-05-21T02:10:45.880 に答える
0

試す

SELECT * 
  FROM Table1 
 WHERE id = 123 
   AND MONTH(date) = 3

あなたの世話をするなら、

SELECT * 
  FROM Table1 
 WHERE id = 123 
   AND MONTH(date) = 3 -- March
   AND YEAR(date)  = 2013

SQLFiddle (両方のクエリ用)

dateインデックスが存在する場合でも、列にはインデックスが使用されないことに注意してください。

于 2013-05-21T02:10:48.113 に答える