一句--准备环境 declare @t table ( A欄 varchar(10), B欄 varchar(10), C欄 varchar(10) ) insert @t select 'test','002','010'--查询 select A欄, right('000'+cast(x.num as varchar(4)),3) from @t t left join ( select a.a+10*b.b+100*c.c as num from ( select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9 ) as a,( select 0 as b union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9 ) as b,( select 0 as c union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9 ) as c ) as x on x.num between cast(B欄 as int) and cast(C欄 as int)
--结果 A欄 ---------- ------ test 010 test 002 test 003 test 004 test 005 test 006 test 007 test 008 test 009(所影响的行数为 9 行)
--准备环境 declare @t table ( A欄 varchar(10), B欄 varchar(10), C欄 varchar(10) ) insert @t select 'test','002','010'--查询 select A欄, right('000'+cast(x.num as varchar(4)),3) as B欄 from @t t left join ( select a.a+10*b.b+100*c.c as num from ( select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9 ) as a,( select 0 as b union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9 ) as b,( select 0 as c union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9 ) as c ) as x on x.num between cast(B欄 as int) and cast(C欄 as int) order by x.num --结果A欄 B欄 ---------- ------ test 002 test 003 test 004 test 005 test 006 test 007 test 008 test 009 test 010(所影响的行数为 9 行)
declare @t table (
A欄 varchar(10),
B欄 varchar(10),
C欄 varchar(10)
)
insert @t select
'test','002','010'--查询
select A欄,
right('000'+cast(x.num as varchar(4)),3)
from @t t left join (
select a.a+10*b.b+100*c.c as num
from (
select 0 as a union all
select 1 union all
select 2 union all
select 3 union all
select 4 union all
select 5 union all
select 6 union all
select 7 union all
select 8 union all
select 9
) as a,(
select 0 as b union all
select 1 union all
select 2 union all
select 3 union all
select 4 union all
select 5 union all
select 6 union all
select 7 union all
select 8 union all
select 9
) as b,(
select 0 as c union all
select 1 union all
select 2 union all
select 3 union all
select 4 union all
select 5 union all
select 6 union all
select 7 union all
select 8 union all
select 9
) as c
) as x
on x.num between cast(B欄 as int) and cast(C欄 as int)
A欄
---------- ------
test 010
test 002
test 003
test 004
test 005
test 006
test 007
test 008
test 009(所影响的行数为 9 行)
declare @t table (
A欄 varchar(10),
B欄 varchar(10),
C欄 varchar(10)
)
insert @t select
'test','002','010'--查询
select A欄,
right('000'+cast(x.num as varchar(4)),3) as B欄
from @t t left join (
select a.a+10*b.b+100*c.c as num
from (
select 0 as a union all
select 1 union all
select 2 union all
select 3 union all
select 4 union all
select 5 union all
select 6 union all
select 7 union all
select 8 union all
select 9
) as a,(
select 0 as b union all
select 1 union all
select 2 union all
select 3 union all
select 4 union all
select 5 union all
select 6 union all
select 7 union all
select 8 union all
select 9
) as b,(
select 0 as c union all
select 1 union all
select 2 union all
select 3 union all
select 4 union all
select 5 union all
select 6 union all
select 7 union all
select 8 union all
select 9
) as c
) as x
on x.num between cast(B欄 as int) and cast(C欄 as int)
order by x.num
--结果A欄 B欄
---------- ------
test 002
test 003
test 004
test 005
test 006
test 007
test 008
test 009
test 010(所影响的行数为 9 行)