mysql 数字序列 拆分字符串 连续日期

MySQL有一张系统表 mysql.help_topic
它有一个从0~657的顺序ID的连续数字序列

在这里插入图片描述
生成连续的日期

select 
date_format(date_add('2019-01-01',interval +t.help_topic_id day),'%Y-%m-%d') as 'curr_date'  
from mysql.help_topic t 
where t.help_topic_id<=10;

在这里插入图片描述
拆分字符串

select 
t1.id,
substring_index(substring_index(t1.name,',',t2.seq),',',-1) name
-- t1.name,
-- t2.seq
from 
	(select 1 id,'a' name  union 
	select 1 id,'c,b' name  union 
	select 1 id,'e,f,g' name  union  
	select 2 id,'m,n' name  union
	select 2 id,'x,y' name
	) t1
left join 
	(select 1 as seq 
	union select 2 union select 3 union select 4 union select 5
	) t2
on t2.seq <= (length(t1.name)-length(replace(t1.name,',',''))+1)
order by id

我是手动创建,如果分隔符数量多可以替换为 mysql.help_topic

在这里插入图片描述

**sqllite oracle **

WITH  numbers(n) AS (
    SELECT 1 
    -- select 1 from dual 
    UNION ALL
    SELECT n + 1 FROM numbers WHERE n < 10
)
SELECT n FROM numbers;

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值