sql日期辅助表,日期sql(可直接运行)

mysql 生成日期辅助表,不需要创建表  

此文转自:https://www.cnblogs.com/lancelee98/p/10006710.html ,直接可运行,方便省事,如不符合可根据原文改写

 

select * from (SELECT ADDDATE((DATE_FORMAT( "2020-01-01", '%Y-%m-%d' )) , (n1.i + n10.i * 10 + n100.i * 100 + n1000.i * 1000+ n10000.i * 10000) ) AS datenum FROM(SELECT 0 AS i UNION ALL SELECT 1 AS i 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 ) as n1 CROSS JOIN (SELECT 0 AS i UNION ALL SELECT 1 AS i 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 ) AS n10 CROSS JOIN (SELECT 0 AS i UNION ALL SELECT 1 AS i 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 ) AS n100 CROSS JOIN (SELECT 0 AS i UNION ALL SELECT 1 AS i 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 ) AS n1000 CROSS JOIN (SELECT 0 AS i UNION ALL SELECT 1 AS i 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) AS n10000) as datelist where datenum like '2020-05%'
 

 

注意:多次尝试,发现复制出去可能会多出空格导致sql运行错误,所以所有空格都是1个,有多出的请删除后尝试运行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值