Una tabla para la que no tengo control del esquema, contiene una columna definida como varchar (50) que almacena identificadores únicos en el formato 'a89b1acd95016ae6b9c8aabb07da2010' (sin guiones)
Quiero convertirlos en identificadores únicos en SQL para pasarlos a .Net Guid. Sin embargo, las siguientes líneas de consulta no me funcionan:
select cast('a89b1acd95016ae6b9c8aabb07da2010' as uniqueidentifier)
select convert(uniqueidentifier, 'a89b1acd95016ae6b9c8aabb07da2010')
y resultar en:
Msg 8169, nivel 16, estado 2, línea 1 La conversión falló al convertir de una cadena de caracteres a un identificador único.
Las mismas consultas que utilizan un identificador único con guiones funcionan bien, pero los datos no se almacenan en ese formato.
¿Existe otra forma (eficiente) de convertir estas cadenas en identificadores únicos en SQL? - No quiero hacerlo en el código .Net.
sql
sql-server-2005
uniqueidentifier
granada
fuente
fuente
Respuestas:
fuente
Sería una función útil. Además, tenga en cuenta que estoy usando COSAS en lugar de SUBSTRING.
fuente
su varchar col C:
fuente
fuente
Si su cadena contiene caracteres especiales, puede convertirla en md5 y luego convertirla en un guid / identificador único.
fuente
El guid proporcionado no tiene el formato correcto (.net proporcionado guid).
fuente