假设有一张表,结构如下
要求查询出如下结果
这个叫 walk the string,需要一个辅助的序号列。
假设你还有一个序号表 Series,里面有一列(id)从 1 开始,逐个加 1,你的原表叫 csdn,用 full join 配合 substr 就行:
select t1.id, case when t2.id = 3
then t1.title
else '' end title,
substring(memo, t2.id - 2, 3) memo
from csdn t1, series t2
where ceiling(len(memo) / 3.) * 3 >= t2.id
and t2.id % 3 = 0