最佳答案居然是答非所问,最好的办法是先建一临时表tmp_date,产生最小日期到最大日期,然后通过not exists查出来不存在的日期。
比如:
with tmp_date as
(select rownum, to_date('20160101','YYYYMMDD')+rownum-1 as dd from dual connect by rownum< to_date('20170630','YYYYMMDD')- to_date('20160101','YYYYMMDD') +2)
select from tmp_date d
where not exists (select from 待查询的表 t where t日期=ddd)
order by ddd
ID 这字段是表中的 主键吧
那么 可能和其他表 有关联 如果改动了 就要出大问题了
当然了 要是单表的话你可以整
Delid = 26
delete from tablename where id = Delid
update tablename set id = id-1 where id > Delid
更新自增的主键值 在 mysql 行的通 其他的 数据库 没试过
-----------------------------------------------------
alter table tablename AUTO_INCREMENT = AUTO_INCREMENT - 1;
将表的 自增 ID 值减 1 即可
--显示查询当天和上期期末,但是如果当天没有期末,只会显示上期,不知道你要的格式,可以行修改
SELECT FROM T WHERE RQ='2016-06-15' AND CKBH='001' AND WPBH='AAA01'
Union
select from (SELECT FROM T WHERE RQ<'2016-06-15' AND CKBH='001' AND WPBH='AAA01' order by rq desc) where rownum <=1;
以上就是关于数据库中有不连续的日期,如何获取缺失的日期全部的内容,包括:数据库中有不连续的日期,如何获取缺失的日期、mysql删除数据后主键值不连续、MSSQL数据库 日期不连续 查找上个日期的期末数据 以每天为一期 但不是每天都有数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)