Mysql返回数字1-12的第一天和最后一天

Mysql返回数字1-12的第一天和最后一天,mysql,Mysql,当我编写一个存储过程时,它将返回数字的第一天和最后一天。例如,如果我输入2,它将返回1-2-2013和28-2-2013;如果我输入7,它将返回1-7-2013和31-7-2013。2013年是本年度。我可以这样做吗 感谢获取当前年份的月初(示例使用第2个月): 要计算从月初开始的月末,请加上一个月,然后减去一天: SET @endMonth = @beginMonth + INTERVAL 1 MONTH - INTERVAL 1 DAY; 由于任何月份的第一天都是1,因此您可以通过使用适当

当我编写一个存储过程时,它将返回数字的第一天和最后一天。例如,如果我输入2,它将返回1-2-2013和28-2-2013;如果我输入7,它将返回1-7-2013和31-7-2013。2013年是本年度。我可以这样做吗


感谢

获取当前年份的月初(示例使用第2个月):

要计算从月初开始的月末,请加上一个月,然后减去一天:

SET @endMonth = @beginMonth + INTERVAL 1 MONTH - INTERVAL 1 DAY;

由于任何月份的第一天都是1,因此您可以通过使用适当命名的函数来获取最后一天:

mysql> SELECT LAST_DAY(STR_TO_DATE(CONCAT(YEAR(CURDATE()),'-','2-1'),GET_FORMAT(DATE,'ISO')));
+---------------------------------------------------------------------------------+
| LAST_DAY(STR_TO_DATE(CONCAT(YEAR(CURDATE()),'-','2-1'),GET_FORMAT(DATE,'ISO'))) |
+---------------------------------------------------------------------------------+
| 2013-02-28                                                                      |
+---------------------------------------------------------------------------------+

对如果您发布一些代码,我们可能会建议如何。请参阅此问题的答案,它们显示了如何获得第一天和最后一天。
mysql> SELECT LAST_DAY(STR_TO_DATE(CONCAT(YEAR(CURDATE()),'-','2-1'),GET_FORMAT(DATE,'ISO')));
+---------------------------------------------------------------------------------+
| LAST_DAY(STR_TO_DATE(CONCAT(YEAR(CURDATE()),'-','2-1'),GET_FORMAT(DATE,'ISO'))) |
+---------------------------------------------------------------------------------+
| 2013-02-28                                                                      |
+---------------------------------------------------------------------------------+