【发布时间】:2011-08-02 19:33:59
【问题描述】:
我的表中有一个列,它以以下格式存储日期:
2011-08-06 11:00:00
有没有办法编写一个根据该列的 MONTH 选择行条目的 sql 语句?
例如,我将如何选择此表中COLUMN_NAME = "August" 的所有条目?
【问题讨论】:
我的表中有一个列,它以以下格式存储日期:
2011-08-06 11:00:00
有没有办法编写一个根据该列的 MONTH 选择行条目的 sql 语句?
例如,我将如何选择此表中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
【讨论】: