Как кодировать Int с Base32 в SQL Server 2008 - PullRequest
1 голос
/ 11 мая 2011

Я ищу кодирование строки INT в BASE32 в SQL Server 2008.

Любые предложения встроенной функции или, возможно, пользовательские функции?

Спасибо

Ответы [ 3 ]

1 голос
/ 11 мая 2011

Уверен, для этого потребуется некоторая отладка, но он должен быть закрыт.Я перевел с ac # function, я нашел, что преобразует base10 в 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
1 голос
/ 07 февраля 2012

Если вы ищете удобочитаемый base32, посмотрите на Crockford's: http://www.crockford.com/wrmg/base32.html

Похоже на метку обслуживания Dell - избегает путаницы между 10 IL и т. Д ...

0 голосов
...