У меня есть столбец в моей таблице, который хранит дату в формате:
2011-08-06 11:00:00
Есть ли способ написать оператор sql, который выбирает записи строк на основе MONTH этого столбца?
Скажем, например, как выбрать все записи в этой таблице, где COLUMN_NAME = "August"
?
Вы можете использовать функцию MONTH () .
SELECT * FROM table WHERE MONTH(COL_NAME) = 8
Если вам это абсолютно необходимо, вы можете использовать MONTHNAME () таким же образом. Но возвращаемое имя зависит от локали.
Чтобы выбрать на основе имени месяца, используйте:
WHERE DATE_FORMAT(COLUMN_NAME, '%M') = 'August'
Чтобы сделать это по номеру месяца, используйте
WHERE MONTH(COLUMN_NAME) = 8
Ты мог бы сказать:
WHERE DATE_FORMAT(COLUMN_NAME, "%M") = "August"
Полезная страница: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format