当前位置: 首页 > news >正文

MySQL5.7 生成日期工具表

-- 创建数字辅助表(存储0-9)
CREATE TABLE tool_num ( i INT );
INSERT INTO tool_num ( i )
VALUES( 0 ),( 1 ),( 2 ),( 3 ),( 4 ),( 5 ),( 6 ),( 7 ),( 8 ),( 9 );-- -- 创建日期存储表 
CREATE TABLE
IFNOT EXISTS tool_calendar ( dates date );-- 生成日期数据
INSERT INTO tool_calendar ( dates ) SELECT
adddate( ( DATE_FORMAT( "2025-01-01", '%Y-%m-%d' ) ), numlist.id ) AS `date` 
FROM(SELECTn1.i + n10.i * 10 + n100.i * 100 + n1000.i * 1000+ n10000.i * 10000 AS id FROMtool_num n1CROSS JOIN tool_num AS n10CROSS JOIN tool_num AS n100CROSS JOIN tool_num AS n1000CROSS JOIN tool_num AS n10000 ) AS numlist;

实际执行效果如下:

实际执行效果如下:

  1. 生成数字序列

    /* 通过笛卡尔积生成0-99999的数字序列 */
    n1(0-9) + n10(0-90) + n100(0-900) + n1000(0-9000) + n10000(0-90000)
    = 0到99999之间的所有整数
  2. 生成日期序列

    /* 以2025-01-01为基准日期 */
    ADDDATE('2025-01-01', 0) => 2025-01-01
    ADDDATE('2025-01-01', 1) => 2025-01-02
    ...
    ADDDATE('2025-01-01', 99999) => 2298-11-29(约274年后)

  3. 结果数据示例

    +------------+
    | dates      |
    +------------+
    | 2025-01-01 |
    | 2025-01-02 |
    | ...        |
    | 2298-11-29 | -- 共生成100,000条日期
    +------------+

http://www.xdnf.cn/news/68581.html

相关文章:

  • day2 python训练营
  • 智能照明系统:照亮智慧生活的多重价值
  • 华为盒式交换机堆叠配置
  • llama-webui docker实现界面部署
  • OpenCV 图形API(47)颜色空间转换-----将 I420(YUV 4:2:0) 格式的图像数据转换为 RGB 格式
  • 你学会了些什么220310?--接口压测调研
  • ThreadLocal的那些杂事
  • 2025.4.21日学习笔记 JavaScript String、Array、date、math方法的使用
  • spark—SQL3
  • [免费]SpringBoot+Vue博物馆(预约)管理系统【论文+源码+SQL脚本】
  • 华为数字化转型“三阶十二步法“:战略驱动、系统布局与敏捷落地的实践框架
  • 29个常见的Terraform 面试问题
  • <数据集>小船识别数据集<目标检测>
  • Python基础总结(九)之推导式
  • AI 赋能企业架构之路:五大关键路标点深度剖析
  • C++ 封装成DLL,C#调用
  • 数字虹膜:无网时代的视觉密语 | 讨论
  • 第1 篇:你好,时间序列!—— 开启时间数据探索之旅
  • liunx中常用操作
  • 深入探索Qt异步编程--从信号槽到Future
  • 483. 找到字符串中所有的字母异位词
  • Linux 进程与线程间通信方式及应用分析
  • 分布式数据库TiDB:架构、核心特性与生产实践(分库分表)
  • 基于selenium框架的web应用自动化测试系统的设计与实现 毕业论文开题
  • Linux-网络基础
  • Spring_MVC 高级特性详解与实战应用
  • HTTP参数污染
  • Cribl 利用表向event 中插入相应的字段-example-01
  • 为零基础及不同背景学习者设计的 人工智能全栈学习路线图
  • git 版本提交规范