查看范畴区间不存在的数字
查看范围区间不存在的数字
要求取1至 100之间数据库中不包含的值
数据库表T结构(值为用户添加的 不断增加的)
VALUE
22
33
99
5
也就是说取1——100之间 除数据库中值以外的所有数字 请问这个要怎样编写语句
------解决方案--------------------
select number from master..spt_values
left join T on number=T.[value]
where type='p' and number<100 and T.[value] is null
------解决方案--------------------
要求取1至 100之间数据库中不包含的值
数据库表T结构(值为用户添加的 不断增加的)
VALUE
22
33
99
5
也就是说取1——100之间 除数据库中值以外的所有数字 请问这个要怎样编写语句
------解决方案--------------------
select number from master..spt_values
left join T on number=T.[value]
where type='p' and number<100 and T.[value] is null
------解决方案--------------------
- SQL code
select number from mster..spt_values s left join t where s.number=t.value and type='p' where t.value is null
------解决方案--------------------
修改下,把最小值最大值加上。。。
- SQL code
declare @i int declare @n int declare @min int declare @max int set @i=0 --生成数据最小值 set @n=10000 --生成数据最大值 set @min=5000 --查询范围最小值 set @max=10000 --查询范围最大值 CREATE TABLE #t( [ID] [int] IDENTITY(1,1) NOT NULL, [number] [int] NULL ) CREATE TABLE #y( [ID] [int] IDENTITY(1,1) NOT NULL, [number] [int] NULL ) ---插入测试数据 insert into #t select 1 union all select 2 union all select 3 union all select 4 while (@i<=@n) begin insert into #y ([number]) values(@i) set @i=@i+1 end ---查询测试结果 select y.number from #y y left join #t T on y.number=T.[number] where y.number>=@min and y.number<=@max and T.[number] is null drop table #t drop table #y
------解决方案--------------------