mysql根据给定的年月获取那个月份天数的sql语句

clipboard.png
数据结构如上,要根据months字段值获取到每个月对应的天数,试了几种方法都返回空,求指教,谢谢

阅读 13.2k
2 个回答

测试用例:

CREATE TABLE `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `months` varchar(7) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;


insert  into `test`(`id`,`months`) values 
(1,'2018-01'),
(2,'2017-12'),
(3,'2017-11');

查询语句

SELECT months AS WhichMonth,(SELECT DAY(LAST_DAY(CONCAT(months,'-01')))) AS TotalDays FROM test GROUP BY months

测试结果:

图片描述

day(LAST_DAY('2018-01-09')) 

用这个mysql函数用来计算某一天的所属当前月的天数

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题