2017-07-12 17 views
0

2つの日付を年と月だけで比較するSQLクエリが必要です。日を考慮しないで2つの日付を比較します。

I.e. 1つの日付は2017-07-12で、2番目の日付は2017-07-30です。

彼らは同じ年月を共有しているので、WHEREクエリでそれらを取得する必要があります。

私はDATEFORMAT(両方ともyyy-mm-01の形式に変換)でそれを行う方法を知っています。よりクリーンな方法があるかどうかを知りたい。

+0

私たちに質問を表示 – RiggsFolly

答えて

2

あなたはMonth()Year()機能を使用して、月や年を比較することができます:

WHERE YEAR(date1)=YEAR(date2) AND MONTH(date1) = MONTH(date2); 

mysql date and time functions pageに関するいくつかの良い情報を彼らのマニュアルで。

1

のMySQL関数EXTRACT()は、この目的のために使用することができます。

WHERE EXTRACT(YEAR_MONTH FROM date1) = EXTRACT(YEAR_MONTH FROM date2) 

EXTRACT(YEAR_MONTH FROM '2017-07-12')戻り'201707'

関連する問題