Declare
@Base
Int
, @res Nvarchar(50) ,@Digits Nvarchar (100)
declare
@Number
bigint
Select
@digits =
'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
,@base = LEN (@Digits ) , @res=
''
;
select
@Base
as
Base
Select
@Number=500000000000;
with
cte(ID, Number , Module)
as
(
Select
1 ,@Number ,
cast
(0
as
int
)
Union
all
Select
cte.ID +1 , (floor(Number/@base) ) ,
cast
(Number%@Base
as
int
)
from
CTE
where
number>0
)
select
@res=
substring
(@digits,Module +1 , 1)+@res
From
Cte
where
ID>1
order
By
ID
select
@res
as
Result