Cha*_*des 5 sql t-sql loops between
我正在尝试使用TSQL传递两个10位数的电话号码块.
让我们说:
TelephoneNumber1: 1234560095
TelephoneNumber2: 1234561005
Run Code Online (Sandbox Code Playgroud)
我的表由3列组成:
ID, StartBlock, EndBlock
1, 5671231000, 5671232000
2, 1234561000, 1234562000
3, 2175551200, 2175551300
Run Code Online (Sandbox Code Playgroud)
所以我要做的是找到之间的所有数字TelephoneNumber1,TelephoneNumber2并查看它之间StartBlock和EndBlock表中的任何记录之间是否存在.
在这个例子中,它会在第二个记录中找到一个已经在使用的数字,因为当它1234560095到达时1234561000,它会在已经在使用中找到它.
如何完成此操作以查找StartBlock和EndBlock之间正在使用的数字?
declare @T table
(
ID int,
StartBlock bigint,
EndBlock bigint
)
insert into @T values
(1, 5671231000, 5671232000),
(2, 1234561000, 1234562000),
(3, 2175551200, 2175551300)
declare @TelephoneNumber1 bigint
declare @TelephoneNumber2 bigint
set @TelephoneNumber1 = 1234560095
set @TelephoneNumber2 = 1234561005
select *
from @T
where StartBlock <= @TelephoneNumber2 and
EndBlock >= @TelephoneNumber1
Run Code Online (Sandbox Code Playgroud)