Les caractères Hex en varchar() est en fait ascii. Besoin de le décoder
C'est un avantage sur le cas d'une question, je serais surpris si il existe un moyen facile de faire cela.
J'ai une MS SQL DB avec un champ de type varchar(255). Il contient une chaîne hexadécimale qui est en fait un Guid lorsque vous le décoder à l'aide d'un ascii décodeur. Je sais que cela semble bizarre mais voici un exemple:
Le contenu du champ: "38353334373838622D393030302D343732392D383436622D383161336634396339663931"
De ce qu'il représente: "8534788b-9000-4729-846b-81a3f49c9f91"
J'ai besoin d'un moyen pour décoder ce, et il suffit de changer le contenu du champ de la réelle guid qu'il représente. J'ai besoin de le faire en T-SQL, je ne peux pas utiliser .Net (qui, si je le pouvais, qui est très simple).
Mise à JOUR: Certaines personnes qui ont répondu avec des moyens qui peuvent travailler dans des déclarations, j'ai besoin d'un moyen de mettre cela dans une instruction de mise à JOUR.
Par exemple: UPDATE Matable SET MyField = MyFunction(MyField)
Où MyFunction est la réponse correcte à cette question.
OriginalL'auteur csauve | 2010-05-25
Vous devez vous connecter pour publier un commentaire.
cela va vous donner ce que vous voulez..8534788b-9000-4729-846b-81a3f49c9f91
vous avez besoin de convertir la valeur de varbinary et ensuite de les convertir en arrière varchar
ici est une façon dynamique à l'aide de SQL
probablement, vous avez à faire un peu de mise à jour dynamique de l'instruction SQL
Merci! Ce sera certainement le travail, je ne pense pas à l'aide de SQL dynamique. 🙂
OriginalL'auteur SQLMenace
Si vous voulez convertir les caractères individuels, vous pouvez le faire avec le
CHAR
fonction:Mais vous devez vous rappeler de faire précéder le numéro de 0x puisque c'est en hexadécimal.
OriginalL'auteur Hans Olsson