mysql生成连续的日期

1.代码

例如:生成"2023-03-01"至"2023-03-10"之间的日期

WITH RECURSIVE date_range  AS (
    SELECT "2023-03-01" AS date FROM dual
    UNION ALL
		
    SELECT DATE_ADD(date, INTERVAL 1 DAY) date
    FROM date_range
    WHERE DATE_ADD(date, INTERVAL 1 DAY) <= "2023-03-10"
)
SELECT 
    date
FROM 
    date_range ;

生成结果:
在这里插入图片描述

2. 语法

在SQL中,RECURSIVE关键字并不直接接受参数,它是一个用于定义递归公用表表达式(Recursive Common Table Expression, CTE)的关键字。递归CTE通常包含两个部分:
1.基础集(Non-Recursive Part): 这是递归查询的初始或起始点,它不依赖于自身生成的结果。这个部分通常是单个SELECT语句。
2.递归集(Recursive Part): 这是递归查询的核心部分,它引用了前面已经计算出的结果,并结合新的数据行生成下一次迭代的数据。递归集通常通过UNION ALL、UNION(去除重复行)或者在某些数据库系统中支持的其他方式与基础集连接。
例如,在MySQL中的一个递归查询结构如下,递归遍历树结构:

WITH RECURSIVE hierarchy AS (
    SELECT id, parent_id, name, 1 as level
    FROM tree
    WHERE parent_id IS NULL -- 基础集:根节点

    UNION ALL

    SELECT child.id, child.parent_id, child.name, h.level + 1
    FROM tree AS child
    JOIN hierarchy AS h ON h.id = child.parent_id -- 递归集:基于前一次结果继续查询
)
SELECT * FROM hierarchy;

相关推荐

  1. MySQL生成某一年所有日期

    2024-03-14 11:30:02       46 阅读
  2. MySQL生成日期序列与表关联 SQL 查询

    2024-03-14 11:30:02       35 阅读
  3. MySQL】关于日期转换方法

    2024-03-14 11:30:02       68 阅读
  4. MySQL中对日期时间处理

    2024-03-14 11:30:02       75 阅读
  5. sql server 生成本月日期临时表

    2024-03-14 11:30:02       42 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-14 11:30:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-14 11:30:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-14 11:30:02       82 阅读
  4. Python语言-面向对象

    2024-03-14 11:30:02       91 阅读

热门阅读

  1. Docker Commit提交

    2024-03-14 11:30:02       37 阅读
  2. Docker中 仓库的使用

    2024-03-14 11:30:02       40 阅读
  3. PyQt5 使用setStyleSheet设置控件的样式

    2024-03-14 11:30:02       32 阅读
  4. 在Windows电脑上跑linux用双系统、虚拟机还是WSL?

    2024-03-14 11:30:02       41 阅读
  5. vuex怎么防止数据刷新丢失?

    2024-03-14 11:30:02       41 阅读
  6. Qt+FFmpeg+opengl从零制作视频播放器-12.界面美化

    2024-03-14 11:30:02       37 阅读
  7. 设计模式 — — 工厂模式

    2024-03-14 11:30:02       39 阅读
  8. - 概述 - 《设计模式(极简c++版)》

    2024-03-14 11:30:02       36 阅读