declare @uu uniqueidentifier = 'C50B0567-F8CC-4219-A1E1-91C97BD9AE1B'
select @uu
declare @zaza bigint = (select convert(bigint, convert (varbinary(8), @uu, 1)))
select @zaza
select CONVERT(uniqueidentifier , convert(varbinary(16) , @zaza , 1))
Myślałem, że mam szybki sposób na przekonwertowanie wartości Unique Identifier na Big Int iz powrotem. Ale w moim drugim nawróceniu jest problem. Czy każdy może skomentować właściwy sposób pełnego przekonwertowania identyfikatora GUID na numer i z powrotem? Dostaję tylko część GUID, a nie całość, gdy próbuję przekonwertować go z powrotem z reprezentacji numerycznej do pierwotnego identyfikatora GUID.Konwersja z UniqueIdentifier na BigInt iz powrotem?
Chcę przekazać liczbę całkowitą (myślę, że zostałoby to sklasyfikowane jako "Large BigInt" w MSSQL?) Do systemu zdalnego i wystarczy użyć znaków 0-9, a nadal uzyskać losową unikatowość NewId().
'uniqueidentifier' ma 16 bajtów. "Bigint" ma tylko 8. To nie zadziała. Dlaczego próbujesz to zrobić? –
Co taki przelicznik oznacza? – Oded
Ponownie zredagowałem oryginalne pytanie, aby rozwiązać ten problem, muszę wymieniać dane z systemem, który pobiera liczby, ale nie zawiera kodów alfanumerycznych i uważał, że identyfikator GUID, który nie wygląda na GUID, działałby. – Snowy