伍婷 2015-04-21 02:20 采纳率: 0%
浏览 1347

oracle如何实现类似时间差的行转多行

初始表数据为:
zd1 zd2 zd3
1 a1 201502
1 b1 201504
2 a1 201503
2 b1 201506
2 a2 201508
实现效果为:
zd1 zd2 zd3
1 a1 201502
1 a1 201503
1 b1 201504
2 a1 201503
2 a1 201504
2 a1 201505

2 b1 201506
2 b1 201507
2 a2 201508

斜体为补充数据,规则为:在zd3的差值中zd1、zd2以上一条zd1相同的值补齐,zd3加1补充。

  • 写回答

1条回答 默认 最新

  • 清水依恋成 2015-04-21 02:46
    关注

    select * from (
    select zd1, zd2, zd3 from TTT
    union all
    select zd1, zd2, zd3+1 from TTT
    ) order by zd1

    如果zd3是datetime类型,直接上面就行,
    如果是普通的8位varchar,先转成to_date转成datetime,再加1操作,再to_char到8位varchar操作。

    评论

报告相同问题?

悬赏问题

  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备