首页
学习
活动
专区
工具
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个月的月份名称和每个月的最后日期。你可以根据需要进行调整和优化。

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

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

相关·内容

6分41秒

2.8.素性检验之车轮分解wheel factorization

8分7秒

【自学编程】给大二学弟的编程学习建议

2分18秒
4分29秒

MySQL命令行监控工具 - mysqlstat 介绍

1分7秒

REACH SVHC 候选清单增至 235项

1分32秒

最新数码印刷-数字印刷-个性化印刷工作流程-教程

4分36秒

PS小白教程:如何在Photoshop中制作雨天玻璃文字效果?

1时5分

云拨测多方位主动式业务监控实战

2分30秒

JSP SH论文答辩管理系统myeclipse开发mysql数据库mvc结构java编程

1分10秒

DC电源模块宽电压输入和输出的问题

1分25秒

JSP票据管理系统myeclipse开发mysql数据库web结构java编程

1分34秒

JSP期末考试安排管理系统myeclipse开发mysql数据库web结构java编程

领券