SQL Server - CAST

   
Vista:

CAST

Publicado por Francisco I (9 intervenciones) el 09/08/2011 20:00:13
Hola gente!

Les dejo un problemita que estoy teniendo relacionado a la conversión de datos.

Necesito convertir un valor al tipo de dato uniqueidentifier, pero me encuentro con el problema que el select de donde lo capturo lo trae como si fuera un texto (varchar)

Es decir, lo que yo necesito es esto:

print cast(0x47A93B9C5F1F8B4383CCA837C9BAB54B as uniqueidentifier)
Que funciona correctamente y devuelve: 9C3BA947-1F5F-438B-83CC-A837C9BAB54B

Pero como les decis, el dato viene como texto, es decirs, entre comillas....
print cast('0x47A93B9C5F1F8B4383CCA837C9BAB54B' as uniqueidentifier)
Y ésto me devuelve:Msg 8169, Level 16, State 2, Line 1
Conversion failed when converting from a character string to uniqueidentifier.


Ya probe hacer CAST del valor entre comillas a otros tipos de datos, como por ej Varbinary(16) pero me cambia el Nº principal...

Alguien conoce alguna forma de quitarle las comillas a una cadena?


Espero haber sido claro,
Saludos!

Francisco I
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Resuelto - CAST

Publicado por Francisco I (9 intervenciones) el 09/08/2011 20:11:33
Bien... pude resolverlo... y dejo la solución por si alguno tiene el mismo problema...

Como dije, mi problema era en:
print cast('0x47A93B9C5F1F8B4383CCA837C9BAB54B' as uniqueidentifier)
Donde me daba error por tener un valor con comillas....

Aplique un CAST al string...
CONVERT(varbinary(max) , '0x47A93B9C5F1F8B4383CCA837C9BAB54B', 1)
y obtuve el valor sin comillas....

Luego se lo aplique a lo que realmente necesitaba....
print cast(CONVERT(varbinary(max), '0x47A93B9C5F1F8B4383CCA837C9BAB54B', 1) as uniqueidentifier)

y obtuve lo que necesitaba....


Saludos!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar