Tabela, dla której nie mam kontroli nad schematem, zawiera kolumnę zdefiniowaną jako varchar (50), która przechowuje unikalne identyfikatory w formacie „a89b1acd95016ae6b9c8aabb07da2010” (bez łączników)
Chcę przekonwertować je na uniqueidentifiers w SQL w celu przekazania do .Net Guid. Jednak następujące wiersze zapytania nie działają dla mnie:
select cast('a89b1acd95016ae6b9c8aabb07da2010' as uniqueidentifier)
select convert(uniqueidentifier, 'a89b1acd95016ae6b9c8aabb07da2010')
i skutkuje:
Msg 8169, poziom 16, stan 2, wiersz 1 Konwersja nie powiodła się podczas konwersji z ciągu znaków na unikalny identyfikator.
Te same zapytania używające łączonego unikalnego identyfikatora działają dobrze, ale dane nie są przechowywane w tym formacie.
Czy istnieje inny (wydajny) sposób konwersji tych ciągów na unikalne identyfikatory w języku SQL? - Nie chcę tego robić w kodzie .Net.