Una tabla que no tengo control del esquema para, contiene una columna definida como VARCHAR (50) que almacena uniqueidentifiers en el formato 'a89b1acd95016ae6b9c8aabb07da2010' (sin guiones)Convertir varchar a UNIQUEIDENTIFIER en SQL Server
que quiero conviértalos a uniqueidentifiers en SQL para pasar a .Net Guid. Sin embargo, las siguientes líneas de consulta no funcionan para mí:
select cast('a89b1acd95016ae6b9c8aabb07da2010' as uniqueidentifier)
select convert(uniqueidentifier, 'a89b1acd95016ae6b9c8aabb07da2010')
y dan lugar a:
Msg 8169, Level 16, State 2, Line 1 Conversion failed when converting from a character string to uniqueidentifier.
Las mismas consultas utilizando un guión excelente trabajo uniqueidentifier pero los datos no se almacenan en ese formato.
Hay otra forma (eficiente) de convertir estas cadenas en uniqueidentifiers en SQL. - No quiero hacerlo en el código .Net.
sólo una fila de caracteres y números no es realmente una representación GUID válido - Tendrás que recurrir a la magia de análisis de cuerdas como lo mostró Quassnoi en su respuesta. –