从列中取出月份和年份并显示月份和年份的最后日期

问题描述

所以我有 2 列年份和月份,我想将月份和年份显示在新列中并显示该月的最后日期

示例: 年份列 = 2019、2020、2021 月份列 = 一月、二月、三月

我想要结果:31-01-2019、29-02-2019等

解决方法

首先连接年、月和 '01' 以创建字符串日期,如:'2019-Jan-01'
然后使用 STR_TO_DATE() 将其转换为有效日期,最后使用 LAST_DAY() 获取该年/月的最后一天:

SELECT LAST_DAY(STR_TO_DATE(CONCAT(year,'-',month,'-01'),'%Y-%b-%d')) date
FROM tablename

参见demo