2016-08-15 6 views
0

申し訳ありませんが、これは私が今考えていることであり、得ることができないものです。年月の間にすべてのデータを取得

私は、月の列を持つデータベースを持っており、1990年から2010年の間の翌年の11月から5月までの月をすべて取得したいと思っています。これは私がどこの場所行くと私は使用しようとしました:

DATE_ADD(Month, INTERVAL 6 MONTH) AND YEAR(Month) BETWEEN 1990 AND 2010 

運がありません。

私が見てきた例は、CURDATEを使用したい人です。ここではそうではありません。

+0

これまでに試したことはありますか?あなたが試したクエリと一緒にあなたのテーブルを投稿 – jonju

答えて

1

これはどう:

WHERE (MONTH(date) >= 11 AND YEAR(date) BETWEEN 1990 AND 2009) OR 
     (MONTH(date) <= 5 AND YEAR(date) BETWEEN 1991 AND 2010) 

これは、MySQLの日付型のいずれかであるdateという列を持っていることを前提としています。 WHERE句の最初の条件は、2009年までのすべての年の11月/ 12月だけでなく、1990年の11月と12月に一致します(ただし、その年の春は含まれません)。2番目の条件は、1991年の1〜

+0

ああありがとう!私はそれが私が日付のためのいくつかの基本的なロジックを段階的に廃止したと感じていた... – Sam

関連する問題