Como converter um valor de coluna de varbinary(max)
para varchar
em formato legível?
sql
sql-server
sql-server-2005
tsql
Bilgin Kılıç
fonte
fonte
Respostas:
"Converter a
varbinary
em avarchar
" pode significar coisas diferentes.Se o varbinary é a representação binária de uma string em SQL Server (por exemplo, voltou lançando a
varbinary
diretamente ou a partir dosDecryptByPassPhrase
ouDECOMPRESS
funções) você só podeCAST
eleIsso equivale a usar
CONVERT
com um parâmetro de estilo de0
.Outros parâmetros de estilo estão disponíveis
CONVERT
para diferentes requisitos, conforme observado em outras respostas.fonte
SELECT CAST('This is a test' AS VARBINARY(100))
que está0x5468697320697320612074657374
em meu agrupamento padrão e o converte de volta para avarchar
string. A resposta de Gunjan retorna a representação hexadecimal como uma string ('5468697320697320612074657374'). Presumivelmente, essa interpretação está correta para a necessidade do OP conforme eles a aceitaram.CONVERT
tem um parâmetro de estilo para selecionar a maneira que você deseja (minha interpretação é o estilo padrão). Portanto, esta resposta pode não ser o que você precisa para o seu caso de uso no momento, mas é correta para outros casos de uso. Incluindo o questionador original que especificou "forma legível para humanos" e não hex.A seguinte expressão funcionou para mim:
Aqui estão mais detalhes sobre a escolha do estilo (o terceiro parâmetro).
fonte
Na verdade, a melhor resposta é
usar "
2
" corta o "0x
" no início dovarbinary
.fonte
Tente isto
fonte
Para uma
VARBINARY(MAX)
coluna, tive que usarNVARCHAR(MAX)
:Ou
fonte
Eu tentei isso, funcionou para mim:
fonte
Dê uma olhada no abaixo, pois eu estava lutando para postar muito original [aqui] [1]
fonte