所以我有一张包含数百条记录的表格。并且具有带有日期时间格式的文件名“已创建”类型。现在我想用几个月来制作和存档。例如1月,2月....等我需要创建查询以查找所有可能的月份。例如,如果我的记录从2011/05/01开始到现在,我将需要获取月份5,6,7,8,9,10,11,12。 有没有办法呢???
答案 0 :(得分:3)
如果您正在查看created
字段中所有月份的列表(据我了解您的查询),请执行以下操作:
SELECT DISTINCT(MONTH(created)) FROM posts;
结果集将是该字段中唯一月份的列表。如果这会抱怨,请尝试:
SELECT DISTINCT(MONTH(DATE(created))) FROM posts;
然后,您可以将MONTH
替换为MONTHNAME
并获取名称。我没有在这些查询中添加WHERE
子句,但您可以根据需要限制所查看的数据集。
有关更多信息,请查看http://dev.mysql.com/doc/refman/5.1/en/functions.html,其中列出了MySQL本身提供的一些功能。
答案 1 :(得分:1)
是的,使用DATE_FORMAT
功能和其他日期和时间功能。
更多详情here
例如,如果您想要2011年12月的所有记录:
SELECT * FROM posts WHERE YEAR(created) = 2011 AND MONTH(created) = 12