首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

sql中前3个月的月份名称和每个月的最后日期

在SQL中,可以使用日期函数和条件语句来获取前3个月的月份名称和每个月的最后日期。

首先,我们可以使用DATE_SUB函数来获取当前日期的前3个月的日期。然后,使用MONTH函数和CASE语句来获取月份名称。最后,使用LAST_DAY函数来获取每个月的最后日期。

以下是一个示例查询:

代码语言:txt
复制
SELECT 
    CASE 
        WHEN MONTH(DATE_SUB(CURDATE(), INTERVAL 2 MONTH)) = 1 THEN 'January'
        WHEN MONTH(DATE_SUB(CURDATE(), INTERVAL 2 MONTH)) = 2 THEN 'February'
        WHEN MONTH(DATE_SUB(CURDATE(), INTERVAL 2 MONTH)) = 3 THEN 'March'
        WHEN MONTH(DATE_SUB(CURDATE(), INTERVAL 2 MONTH)) = 4 THEN 'April'
        WHEN MONTH(DATE_SUB(CURDATE(), INTERVAL 2 MONTH)) = 5 THEN 'May'
        WHEN MONTH(DATE_SUB(CURDATE(), INTERVAL 2 MONTH)) = 6 THEN 'June'
        WHEN MONTH(DATE_SUB(CURDATE(), INTERVAL 2 MONTH)) = 7 THEN 'July'
        WHEN MONTH(DATE_SUB(CURDATE(), INTERVAL 2 MONTH)) = 8 THEN 'August'
        WHEN MONTH(DATE_SUB(CURDATE(), INTERVAL 2 MONTH)) = 9 THEN 'September'
        WHEN MONTH(DATE_SUB(CURDATE(), INTERVAL 2 MONTH)) = 10 THEN 'October'
        WHEN MONTH(DATE_SUB(CURDATE(), INTERVAL 2 MONTH)) = 11 THEN 'November'
        WHEN MONTH(DATE_SUB(CURDATE(), INTERVAL 2 MONTH)) = 12 THEN 'December'
    END AS MonthName,
    LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 2 MONTH)) AS LastDateOfMonth
UNION ALL
SELECT 
    CASE 
        WHEN MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) = 1 THEN 'January'
        WHEN MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) = 2 THEN 'February'
        WHEN MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) = 3 THEN 'March'
        WHEN MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) = 4 THEN 'April'
        WHEN MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) = 5 THEN 'May'
        WHEN MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) = 6 THEN 'June'
        WHEN MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) = 7 THEN 'July'
        WHEN MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) = 8 THEN 'August'
        WHEN MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) = 9 THEN 'September'
        WHEN MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) = 10 THEN 'October'
        WHEN MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) = 11 THEN 'November'
        WHEN MONTH(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) = 12 THEN 'December'
    END AS MonthName,
    LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 1 MONTH)) AS LastDateOfMonth
UNION ALL
SELECT 
    CASE 
        WHEN MONTH(CURDATE()) = 1 THEN 'January'
        WHEN MONTH(CURDATE()) = 2 THEN 'February'
        WHEN MONTH(CURDATE()) = 3 THEN 'March'
        WHEN MONTH(CURDATE()) = 4 THEN 'April'
        WHEN MONTH(CURDATE()) = 5 THEN 'May'
        WHEN MONTH(CURDATE()) = 6 THEN 'June'
        WHEN MONTH(CURDATE()) = 7 THEN 'July'
        WHEN MONTH(CURDATE()) = 8 THEN 'August'
        WHEN MONTH(CURDATE()) = 9 THEN 'September'
        WHEN MONTH(CURDATE()) = 10 THEN 'October'
        WHEN MONTH(CURDATE()) = 11 THEN 'November'
        WHEN MONTH(CURDATE()) = 12 THEN 'December'
    END AS MonthName,
    LAST_DAY(CURDATE()) AS LastDateOfMonth;

这个查询将返回前3个月的月份名称和每个月的最后日期。你可以根据需要进行调整和优化。

关于腾讯云相关产品和产品介绍链接地址,由于不能提及具体品牌商,建议你访问腾讯云官方网站,查找与云计算相关的产品和服务。在腾讯云的官方网站上,你可以找到各种云计算解决方案、云服务器、云数据库、云存储等产品,以满足你的需求。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

[周末课程]什么是“页面业务流程”分析思维导图?如何编写页面假JSON数据? &下一个前端组件“日历”

大家好,时间飞快一晃又到了周末了,今天要跟大家一起学习的有以下这些内容: -- 什么是“页面业务流程”分析思维导图?如何编写页面假JSON数据? -- 进入下一个前端组件“日历”。 先来说第一个,页面业务流程。什么样的页面会有业务流程呢? 第一,业务型,电商网站、 第二,强交互型,知呼、QQ空间、音乐播放器 第三,展示型,随着鼠标滚动或页面拖动,菜单或页面有不同显示切换 常会有同学说不知道如何 下手写JS,不知道从哪开始写,不知道操作什么。这就是业务不清晰。 你这个业务,想要实现。那么每一阶段业务,是哪几个

05

[先行者周末课程] 日历组件的开发思路讲解&&日历组件在实际工作中的使用方式

各位同学们大家好,今天又到了周日,视频课程的时候。上次咱们讲的是日历组件。 简短的回顾一下上周的内容,免得同学们一时断篇,想不起来身在何方。日历这种东西,初学者,包括我在内,多数都会有些不知从哪里下手。会有些不太理解这东西是怎么把每个月的格,都画出来的。 其实,单纯的日历,非常简单。本质就是Date()对象的应用。 日历是几行七列的表格,那么肯定是for...for循环嵌套的了。如果哪个同学不熟悉嵌套for循环,那肯定是没写过99乘法表。 ============ 今天这次课就是详细的给大家讲一个日历的内部

010
领券