如何在SQL Server 2008中使用base32编码int

| 我想在SQL Server 2008中将INT编码为BASE32字符串。 有内置功能或自定义功能的建议吗? 谢谢     
已邀请:
以下是一些实现: http://dpatrickcaldwell.blogspot.com/2009/05/converting-decimal-to-hexadecimal-with.html http://snippets.dzone.com/posts/show/707 http://geekswithblogs.net/bbiales/archive/2009/05/04/131732.aspx     
可以肯定的是,这将需要一些调试,但是应该关闭。我从发现将base10转换为base32的c#函数进行了翻译。
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
    
如果您正在寻找可读的base32,请访问Crockford:http://www.crockford.com/wrmg/base32.html 看起来像戴尔服务标签-避免1 0 I L等之间的混淆     

要回复问题请先登录注册