【问题标题】:SQL Base32 ConversionSQL Base32 转换
【发布时间】:2009-03-03 16:48:17
【问题描述】:

我正在编写一个 SQL 函数,它将接受小数并返回该小数的 base32 表示。

我的问题是小数到 ascii 的转换。

我可以运行以下查询并返回一个 ascii 字符

“SELECT CHAR(65)”返回“A”

但是,在我的函数中,当我尝试构建输出字母字符串时,我无法将 bigint 转换为 char,然后将该 char 连接到另一个 char 的末尾(这将是我的输出)。

示例代码行:“SET @OutputChar = @OutputChar + CAST((@Output + 55)AS CHAR(255))”

将 bigint 转换为 char 然后将该 char 连接到另一个的正确方法是什么?

谢谢

【问题讨论】:

    标签: sql syntax


    【解决方案1】:

    你如何声明@OutputChar?

    如果你有:

    DECLARE @OutputChar CHAR(255)
    

    那么每次连接时,它都会将其截断为 255。CHAR 包含末尾的空格,也许您的意思是使用 varchar 而不是 CHAR?

    【讨论】:

    • 你指出了我的逻辑错误。我为 char 分配了 255 的大小,当我去连接时它将是 255 + 255,并切断连接的 char。我将它从 CHAR(255) 更改为 CHAR,这使得 char 不会被截断。感谢您的帮助!
    【解决方案2】:

    试试这个:

    SET @OutputChar = @OutputChar + CONVERT(varchar(255),@Output + 55)
    

    【讨论】:

      猜你喜欢
      • 2011-03-20
      • 2010-12-27
      • 1970-01-01
      • 1970-01-01
      • 2010-12-23
      • 2021-07-17
      • 2020-12-05
      • 2010-10-13
      • 1970-01-01
      相关资源
      最近更新 更多