Ceci est un tel cas d'une question, je serais surpris s'il y a un moyen facile de le faire.Les caractères hexadécimaux dans varchar() sont en réalité des ascii. Besoin de le décoder
J'ai un 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écodez en utilisant un décodeur ASCII. Je sais que cela semble vraiment bizarre, mais voici un exemple:
Le contenu du champ: « 38353334373838622D393030302D343732392D383436622D383161336634396339663931 »
Qu'est-ce qu'il représente en fait: « 8534788b-9000-4729-846b-81a3f49c9f91 »
J'ai besoin un moyen de décoder cela, et juste changer le contenu du champ pour le guid réel qu'il représente. Je dois le faire en T-SQL, je ne peux pas utiliser .Net (ce qui si je peux, c'est remarquablement simple).
MISE À JOUR: Certaines personnes ont répondu avec des façons qui peuvent fonctionner dans des instructions uniques, j'ai besoin d'un moyen de mettre cela dans une instruction UPDATE.
Par exemple: UPDATE MyTable SET MyField = MyFunction (MyField)
Où MyFunction est la bonne réponse à cette question.
Cela me permet de faire la moitié du chemin, mais comment arriver au varbinary? Si je fais sélectionnez convertir (varbinary (max), 'FF') il me donne 0x4646, où dans mon cas la chaîne devrait être 0xFF – csauve
vous avez probablement besoin de faire une mise à jour dynamique SQL instruction – SQLMenace
Merci! Cela fonctionnera certainement, je n'ai pas envisagé d'utiliser le SQL dynamique. :) – csauve