Une table Je ne contrôle pas du schéma pour, contient une colonne définie comme varchar (50) qui stocke uniqueidentifiers dans le format « a89b1acd95016ae6b9c8aabb07da2010 » (pas de traits d'union)Convertir varchar à uniqueIdentifier dans SQL Server
Je veux convertissez-les en identifiants uniques dans SQL pour passer à un guide .Net. Cependant, les lignes de requête suivantes ne fonctionnent pas pour moi:
select cast('a89b1acd95016ae6b9c8aabb07da2010' as uniqueidentifier)
select convert(uniqueidentifier, 'a89b1acd95016ae6b9c8aabb07da2010')
et entraînent:
Msg 8169, Level 16, State 2, Line 1 Conversion failed when converting from a character string to uniqueidentifier.
Les mêmes requêtes à l'aide d'un travail césure uniqueidentifier bien, mais les données ne sont pas stockées dans ce format.
Existe-t-il un autre moyen (efficace) de convertir ces chaînes en identificateurs uniques dans SQL? - Je ne veux pas le faire dans le code .Net.
juste une rangée de caractères et de chiffres est vraiment pas une représentation GUID valide - Vous devrez recourir à la magie des pars, comme Quassnoi l'a montré dans sa réponse. –