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

Foi útil?

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)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top