how to encode int with base32 in sql server 2008
-
26-04-2021 - |
Question
i am looking to encode an INT to BASE32 string in SQL Server 2008.
Any suggestions of built-in function or perhaps a custom function?
Thanks
OTHER TIPS
Pretty sure this will need some debugging but should be close. I translated from a c# function I found that converts base10 to base32.
CREATE FUNCTION dbo.Base10toBase32 (@pInput int)
RETURNS varchar(100)
AS
BEGIN
Declare @pSet char(32)
Declare @pRslt varchar(100)
Declare @pRmdr int
Declare @pPos int
SET @pSet = '0123456789ABCDEFGHIJKLMNOPQRSTUV'
SET @pPos = @pInput
WHILE @pPos > 0
BEGIN
SET @pRmdr = @pPos % 32
SET @pPos = @pPos / 32
SET @pRslt = SubString(@pSet,@pRmdr+1,1) + @pRslt
END
RETURN @pRslt
END
If you're looking for human-readable base32, check out Crockford's: http://www.crockford.com/wrmg/base32.html
Looks like a Dell service tag -- avoids confusion between 1 0 I L etc...
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow