• 使用MySQL和SQL Server生成最近七周和最近七个月的日期数据


    数据库管理和数据处理中,生成特定时间范围内的数据是一项常见的任务。本文将介绍如何使用MySQL和SQL Server编写代码来生成最近七周和最近七个月的日期数据。

    MySQL示例:生成最近七周和最近七个月的日期

    在MySQL中,我们可以通过日期函数和临时表来生成最近七周和最近七个月的日期数据。以下是示例代码:

    1. -- 生成最近七周的日期
    2. DROP TEMPORARY TABLE IF EXISTS WeekRange;
    3. CREATE TEMPORARY TABLE WeekRange (
    4. SalesDay DATE
    5. );
    6. INSERT INTO WeekRange (SalesDay)
    7. SELECT CURDATE() - INTERVAL (n.number * 7) DAY
    8. FROM (
    9. SELECT 0 AS number UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL
    10. SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6
    11. ) AS n;
    12. SELECT * FROM WeekRange;
    13. -- 生成最近七个月的日期
    14. DROP TEMPORARY TABLE IF EXISTS MonthRange;
    15. CREATE TEMPORARY TABLE MonthRange (
    16. SalesDay DATE
    17. );
    18. INSERT INTO MonthRange (SalesDay)
    19. SELECT CURDATE() - INTERVAL (n.number) MONTH
    20. FROM (
    21. SELECT 0 AS number UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL
    22. SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6
    23. ) AS n;
    24. SELECT * FROM MonthRange;

    SQL Server示例:生成最近七周和最近七个月的日期

    在SQL Server中,我们同样可以通过日期函数和循环来生成最近七周和最近七个月的日期数据。以下是示例代码:

    1. -- 生成最近七周的日期
    2. IF OBJECT_ID('tempdb..#WeekRange') IS NOT NULL
    3. DROP TABLE #WeekRange;
    4. CREATE TABLE #WeekRange (SalesDay DATE);
    5. DECLARE @WeekStartDate DATE = DATEADD(WEEK, -6, CAST(GETDATE() AS DATE));
    6. DECLARE @WeekEndDate DATE = CAST(GETDATE() AS DATE);
    7. WHILE @WeekStartDate <= @WeekEndDate
    8. BEGIN
    9. INSERT INTO #WeekRange (SalesDay) VALUES (@WeekStartDate);
    10. SET @WeekStartDate = DATEADD(WEEK, 1, @WeekStartDate);
    11. END
    12. SELECT * FROM #WeekRange;
    13. -- 生成最近七个月的日期
    14. IF OBJECT_ID('tempdb..#MonthRange') IS NOT NULL
    15. DROP TABLE #MonthRange;
    16. CREATE TABLE #MonthRange (SalesDay DATE);
    17. DECLARE @MonthStartDate DATE = DATEADD(MONTH, -6, CAST(GETDATE() AS DATE));
    18. DECLARE @MonthEndDate DATE = CAST(GETDATE() AS DATE);
    19. WHILE @MonthStartDate <= @MonthEndDate
    20. BEGIN
    21. INSERT INTO #MonthRange (SalesDay) VALUES (@MonthStartDate);
    22. SET @MonthStartDate = DATEADD(MONTH, 1, @MonthStartDate);
    23. END
    24. SELECT * FROM #MonthRange;

    通过以上示例代码,我们展示了在MySQL和SQL Server中生成最近七周和最近七个月的日期数据的方法。这种灵活的日期生成方式可以根据不同的需求调整生成的时间范围,满足各种数据处理和报表需求。这对于数据分析、报表生成和业务决策提供了重要的支持。

  • 相关阅读:
    K8S安装过程十一:istio 服务网格与 Ingress 部署
    云计算基础技术
    项目测试排期的正确方法是什么?
    为什么加载了两个OAuth2AuthorizationRequestRedirectFilter分析
    鸿蒙轻内核M核源码分析系列二一 03 文件系统LittleFS
    layui框架实战案例(21):layui table单元格显示图片导致复选框冗余的解决方案
    9月7日,每日信息差
    【做题打卡】集成每日5题分享(第一期)
    数据库迁移(DBeaver版本)
    Scrum Master的职责
  • 原文地址:https://blog.csdn.net/u010362741/article/details/138194807