Comment convertir une valeur de colonne de varbinary(max)
en varchar
sous une forme lisible par l'homme?varbinary à chaîne sur SQL Server
Répondre
"Conversion d'un varbinary
à un varchar
" peut signifier des choses différentes.
Si la varbinary est la représentation binaire d'une chaîne dans SQL Server (par exemple retourné par coulée à varbinary
directement ou à partir des fonctions DecryptByPassPhrase
ou DECOMPRESS
) vous pouvez juste CAST
il
declare @b varbinary(max)
set @b = 0x5468697320697320612074657374
select cast(@b as varchar(max)) /*Returns "This is a test"*/
Ceci est l'équivalent d'utiliser CONVERT
avec un paramètre de style de 0
.
CONVERT(varchar(max), @b, 0)
D'autres paramètres de style sont disponibles avec des exigences différentes pour CONVERT
comme indiqué dans d'autres réponses.
CETTE REPONSE N'EST PAS CORRECTE. Je l'ai testé sur la table avec les SID de l'utilisateur - le nombre de valeurs castées distinctes est inférieur au nombre de SID binaires distincts. Vous devriez utiliser CONVERT (VARCHAR (...), binaryValue, 2) pour obtenir une valeur unique - la réponse de Gunjan Juyal est la bonne - elle devrait être marquée comme solution –
@PhilippMunin - Les deux réponses font des choses différentes. Celui-ci prend le résultat d'une expression telle que 'SELECT CAST ('Ceci est un test' AS VARBINARY (100))' qui est '0x5468697320697320612074657374' dans mon classement par défaut et le convertit dans la chaîne' varchar'. La réponse de Gunjan renvoie la représentation hexadécimale sous la forme d'une chaîne ('5468697320697320612074657374') Cette interprétation est vraisemblablement correcte pour le besoin du PO tel qu'ils l'ont accepté. –
CETTE REPONSE EST CORRECT! Je l'ai testé et il fait ce que je et l'OP désiré. –
Essayez cette
SELECT CONVERT(varchar(5000), yourvarbincolumn, 0)
L'expression suivante a fonctionné pour moi:
SELECT CONVERT(VARCHAR(1000), varbinary_value, 2);
Here sont plus de détails sur le choix du style (le troisième paramètre).
En fait, la meilleure réponse est
SELECT CONVERT(VARCHAR(1000), varbinary_value, 1);
en utilisant "2
" coupe le "0x
" au début de la varbinary
.
ce travail pour moi – Jozcar
- 1. SQL Server - Comment insérer dans la colonne Varbinary (Max)?
- 2. SQL Server, nvarchar (MAX) ou ntext, image ou varbinary?
- 3. Taille du champ VARBINARY dans SQL Server 2005
- 4. Comment insérer un octet [] dans une colonne VARBINARY SQL Server
- 5. Définir une colonne varbinary (max) en utilisant sqlalchemy sur MS SQL Server
- 6. Convertir champ SQL Server Varbinary à MYSQL, conserver les données intactes
- 7. Comment faire pour CAST SQL Server type varbinary à entier dans SSIS?
- 8. python et sql server
- 9. Comment puis-je convertir un VARCHAR hexadécimal en VARBINARY dans SQL Server
- 10. SQL Server 2005/2008: Insérer un fichier dans une colonne varbinary (max) dans Transact-SQL
- 11. SQL Server ROW_NUMBER() sur SQL Server 2000?
- 12. Récupération ad-hoc des données de la colonne varbinary de SQL Server
- 13. Octet Traitement des fichiers PDF à partir de SQL varbinary
- 14. Linq to SQL: lectures incrémentielles Varbinary (Max)
- 15. Question sur la chaîne de connexion SQL Server
- 16. Utiliser un varchar (MAX) ou un varbinary (MAX) pour stocker une chaîne de longueur indéfinie dans SQL Server
- 17. CLR UDF renvoyant Varbinary (MAX)
- 18. Puis-je renvoyer un tableau d'octets à partir d'une colonne SQL Server VarBinary à l'aide d'une requête paramétrée?
- 19. EAV sur SQL Server
- 20. Questions sur SQL Server
- 21. SQL Server 2000 - Filtrer par chaîne Longueur
- 22. Problème de chaîne de connexion SQL Server?
- 23. sql server error chaîne de connexion 2008
- 24. Utilisez varbinary (max) pour stocker du code HTML? SQL Server 2008
- 25. Pré-allouer varbinary (max) sans réellement envoyer des données nulles au SQL Server?
- 26. SQL Server convertir la chaîne en datetime
- 27. Comment utiliser Varbinary (64) en tant que paramètre dans SQL Server Reporting Services?
- 28. Comment CAST (VARBINARY AS NVARCHAR) est-il implémenté dans SQL Server?
- 29. Concaténer chaîne dans SQL Server 2005
- 30. Comment convertir objet d'horodatage SQL Server à chaîne en C#
Je veux varchar puisque la valeur a été déduite de la valeur de chaîne .. Je veux dire lire ce qui a été écrit .. – theklc