Este es un caso extremo de una pregunta, me sorprendería si hay una manera fácil de hacer esto.Los caracteres hexadecimales en varchar() son realmente ascii. Necesito decodificarlo
Tengo una MS SQL DB con un campo de tipo varchar (255). Contiene una cadena hexagonal que en realidad es un Guid cuando lo decodifica usando un decodificador ascii. Sé que suena muy raro, pero aquí es un ejemplo:
Los contenidos del área "38353334373838622D393030302D343732392D383436622D383161336634396339663931"
Lo que realmente representa: "8534788b-9000-4729-846b-81a3f49c9f91"
Necesito una forma de descodificar esto, y simplemente cambie el contenido del campo a la guía real que representa. Necesito hacer esto en T-SQL, no puedo usar .Net (que si pudiera, eso es notablemente simple).
ACTUALIZACIÓN: Algunas personas han respondido con formas que pueden funcionar en declaraciones puntuales, necesito una forma de poner esto en una declaración de actualización.
Por ejemplo: UPDATE SET MiTabla MiCampo = MyFunction (MiCampo)
Dónde MyFunction es la respuesta correcta a esta pregunta.
Eso me lleva la mitad del camino, pero ¿cómo puedo llegar al varbinary? Si lo hago seleccione convertir (varbinary (max), 'FF') me da 0x4646, donde en mi caso la cadena debe ser 0xFF – csauve
es probable que tenga que hacer alguna actualización dinámica declaración SQL – SQLMenace
¡Gracias! Esto definitivamente funcionará, no consideré usar SQL dinámico. :) – csauve