当然可以了啊 这个很简单的。
假设 表明是 number 。主要的思路就是,在断层处有这样的数出现,就是有一个大于一个id,但是它跟着个id不连贯的。取出这样的数。 你这个问题是间断问题,缺失范围。 一般有两种情况,1,求出间断点。2,求出间断范围。(你要是想填充间断范围也可以)
表 和 列 都是number
1,求间断点
select number+1 from number a
where not exists (select 1 from number b where b.number=a.number+1)
and number<(select MAX(number) from number)
2,间断范围
select number+1 as range,(select MIN(number) from number b where b.number>a.number)-1 as endrange from number a
where not exists (select 1 from number b where b.number=a.number+1)
and number<(select MAX(number) from number)
declare @tmp table{id int},@i int
set @i=100000
while(@i<=130000)
if not exitst select * from table where id=@i
begin
insert into @tmp (id) values(@id)
set @i=@i+1
end
select * from @tmp
是需要显示出有ID号,但是name或者sex或者sfzhm字段有一个或多个是空值的情况吗?
SQL> select id from table_name where name is null or sex is null or sfzhm is null;
是什么数据库?oracle的话,我会,其它的不会