SELECT EXTRACT( YEAR_MONTH FROM `date` )
FROM `Table` WHERE Condition = 'Condition';
Ответ 2
Если вы сравниваете даты, извлеките полную дату для сравнения. Если вы сравниваете только годы и месяцы, используйте
SELECT YEAR(date) AS 'year', MONTH(date) AS 'month'
FROM Table Where Condition = 'Condition';
Ответ 3
Хотя это обсуждалось в комментариях, пока нет ответа, содержащего его, поэтому его легко пропустить. DATE_FORMAT работает очень хорошо и гибко обрабатывает множество различных шаблонов.
DATE_FORMAT(date,'%Y%m')
Чтобы поместить это в запрос:
SELECT DATE_FORMAT(test_date,'%Y%m') AS date FROM test_table;
Ответ 4
SELECT * FROM Table_name Where Month(date)='10' && YEAR(date)='2016';
Существует функция YEAR(), так же как функция MONTH(). Если вы проводите сравнение, есть ли причина для сокращения даты? Вы действительно заинтересованы в игнорировании дневных различий, и если это так, как вы хотите это сделать?
Ответ 6
Также должен быть YEAR().
Что касается сравнения, вы можете сравнить даты, которые являются первыми днями этих лет и месяцев, или вы можете преобразовать пару year/month в число, подходящее для сравнения (то есть больше = позже). (Упражнение у читателя. Для подсказок прочитайте формат даты ISO.)
Или вы можете использовать несколько сравнений (т.е. годы сначала, а затем и месяцы).