MySQL日付から月と日付を抽出し、別の日付と比較するにはどうすればよいですか?
このMONTH()を見つけましたが、月しか取得できません。月と年を探しています。
mysql Dokuの場合: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_extract
SELECT EXTRACT( YEAR_MONTH FROM `date` )
FROM `Table` WHERE Condition = 'Condition';
日付を比較する場合は、比較のために完全な日付を抽出します。年と月のみを比較する場合は、
SELECT YEAR(date) AS 'year', MONTH(date) AS 'month'
FROM Table Where Condition = 'Condition';
コメントで議論されましたが、まだそれを含む答えはありませんので、見逃しがちです。 DATE_FORMATは非常にうまく機能し、さまざまなパターンを柔軟に処理できます。
DATE_FORMAT(date,'%Y%m')
クエリに含めるには:
SELECT DATE_FORMAT(test_date,'%Y%m') AS date FROM test_table;
SELECT * FROM Table_name Where Month(date)='10' && YEAR(date)='2016';
日付関数に関しては、mySQLのドキュメントをご覧ください。 http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
MONTH()関数と同様に、YEAR()関数があります。あなたが比較をしている場合でも、日付を切り刻む理由はありますか?日ごとの違いを無視することに本当に興味がありますか?
YEAR()も必要です。
比較については、それらの年と月の最初の日である日付を比較するか、年/月のペアを比較に適した数値に変換することができます(つまり、大きい=遅い)。 (読者に残された練習問題。ヒントについては、ISO日付形式についてお読みください。)
または、複数の比較を使用することもできます(つまり、最初に年、次に月)。