Pergunta
Eu estou escrevendo uma função SQL, que terá em um decimal e retornar a representação base32 desse decimal.
Meu problema é com o decimal à conversão ascii.
Eu estou autorizado a executar a seguinte consulta e retornar um caractere ASCII
"SELECT CHAR (65)", que retorna "A"
No entanto, na minha função quando eu estou tentando construir a minha seqüência de letras, eu estou tendo problemas para lançar um bigint em um char saída, então concatenar que char para o fim de um outro char (que seria a minha saída).
A linha de exemplo de código: "CONJUNTO @OutputChar = @OutputChar + CAST ((@Output + 55) como CHAR (255))"
O que é a maneira correta de lançar um bigint para Char e então concatenar que char para outro?
Graças
Solução
Como você está declarando @OutputChar?
Se você tem:
DECLARE @OutputChar CHAR(255)
, em seguida, cada vez que você concantenate, ele irá truncar-lo para 255. CHAR inclui o espaço em branco no final, talvez você significa para uso varchar em vez de CHAR?
Outras dicas
Tente isto:
SET @OutputChar = @OutputChar + CONVERT(varchar(255),@Output + 55)