如何使用SQL语句生成一个月的日期列表
创作时间:
作者:
@小白创作中心
如何使用SQL语句生成一个月的日期列表
引用
CSDN
1.
https://blog.csdn.net/Ban_dan/article/details/138072454
在数据库开发中,有时我们需要生成一个月的日期列表。本文将介绍一种使用SQL语句直接生成指定月份日期列表的方法。
实现思路
生成连续的日期序列
首先,使用
SELECT
子查询和DATE_ADD
函数生成一个连续的日期序列,从指定月份的第一天开始。子查询中使用了三个
UNION ALL
,每个UNION ALL
语句生成一个数字序列,从0到9,分别代表个位、十位和百位。通过三个CROSS JOIN
进行笛卡尔积,组合成了0到999的数字序列。DATE_ADD
函数用于在指定日期上添加指定的天数,这里用来生成从指定月份的第一天开始的日期序列。限制日期范围
使用
WHERE
子句限制生成的日期序列,确保日期不超过指定月份的最后一天。按照日期排序
使用
ORDER BY
对生成的日期序列按照日期排序。
SQL代码实现
SELECT dateList.date_range AS `monthDate`
FROM (
SELECT DATE_ADD(CONCAT('2024-01', '-01'), INTERVAL n DAY) AS date_range
FROM (
SELECT a.N + b.N * 10 + c.N * 100 AS N
FROM (
SELECT 0 AS N
UNION ALL SELECT 1
UNION ALL SELECT 2
UNION ALL SELECT 3
UNION ALL SELECT 4
UNION ALL SELECT 5
UNION ALL SELECT 6
UNION ALL SELECT 7
UNION ALL SELECT 8
UNION ALL SELECT 9
) a /*10*/
CROSS JOIN (
SELECT 0 AS N
UNION ALL SELECT 1
UNION ALL SELECT 2
UNION ALL SELECT 3
UNION ALL SELECT 4
UNION ALL SELECT 5
UNION ALL SELECT 6
UNION ALL SELECT 7
UNION ALL SELECT 8
UNION ALL SELECT 9
) b /*100*/
CROSS JOIN (
SELECT 0 AS N
UNION ALL SELECT 1
UNION ALL SELECT 2
UNION ALL SELECT 3
UNION ALL SELECT 4
UNION ALL SELECT 5
UNION ALL SELECT 6
UNION ALL SELECT 7
UNION ALL SELECT 8
UNION ALL SELECT 9
) c
WHERE a.N + b.N * 10 + c.N * 100 <= DATEDIFF(LAST_DAY(STR_TO_DATE(CONCAT('2024-01', '-01'), '%Y-%m-%d')), CONCAT('2024-01', '-01'))
) days
ORDER BY date_range
) dateList
ORDER BY dateList.date_range
使用说明
代码中2024-01
部分可以替换为任意年月,以生成相应月份的所有日期。例如,将2024-01
替换为2023-12
,即可生成2023年12月的所有日期。
运行效果
热门推荐
国企信用信息公示系统:透明化管理与信用建设
C语言循环持续比较完全指南:结构选择、边界处理与性能优化
这几款饮品不仅高颜值,更富含营养价值丨亚麻籽美味大盘点
如何高效管理工作进度?这些方法你一定要知道!
保安员考试:实用技巧大揭秘,轻松通关不是梦
全国爱肝日•科普|转氨酶发出SOS!速领这份从“爆肝”到“护肝”的自救密码
仲裁员是什么?职责、选择标准及与诉讼比较
【原】【作文教学】四步三阶,基于核心素养的学生自主修改能力培养策略
虚拟机如何独立使用网卡
C语言编程解决二元一次方程的完整指南
疝气微创手术适应症
肉毒梭菌引起全身感染的表现
产品GTM,如何深挖客户需求?
校园涌动温暖力量,无偿献血科普讲座点亮青年公益之心
便宜的平面框架眼镜是否对眼睛有损害
AI时代财富革命:普通人如何借势突围,成为未来职场“超级个体”
如何调整K线判断缩量止跌?这种方法在实际操作中有何局限性?
曹操怎么死的?历史记载与医学分析揭秘一代枭雄的最后时刻
2025年值得关注的十大技术趋势
“动力生命线”开始架设,成达万高铁建设迎新进展
报刊在现代社会的作用
利用AI与数据分析优化招聘决策
小桥流水春和景明 朱家角古镇“圈粉”海内外博主
海外博主惊叹连连,今年一季度朱家角古镇外国游客同比增长15.77%
租房未签合同的法律风险与押金问题解析
房东不签租房合同怎么维权
吃东西舌头深处痛怎么办?可能的原因及应对方法
如何熬到项目经理的工资
购买牧马人汽车需要注意哪些事项?
业内人士剖析:全屋定制避坑指南(环保篇1-胶水和认证)