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))
Tôi nghĩ rằng tôi đã có một cách nhanh chóng để chuyển đổi các giá trị Số nhận dạng duy nhất thành Big Int và ngược lại. Nhưng có một vấn đề trong lần chuyển đổi thứ hai của tôi. Bất cứ ai có thể bình luận về đúng cách để chuyển đổi đầy đủ một GUID đến một số và trở lại? Tôi chỉ nhận được một phần của GUID và không phải là toàn bộ điều khi tôi cố gắng chuyển đổi nó trở lại từ đại diện số để GUID ban đầu của nó.Chuyển đổi từ UniqueIdentifier thành BigInt và Back?
Tôi muốn chuyển một số nguyên (tôi nghĩ nó sẽ được phân loại là "Big BigInt" trong MSSQL?) Cho hệ thống từ xa và chỉ sử dụng các ký tự 0-9, và vẫn nhận được tính đơn nhất ngẫu nhiên của NewId().
'uniqueidentifier' là 16 byte. Một 'bigint' chỉ là 8. Điều này sẽ không hoạt động. Tại sao bạn đang cố gắng làm điều này? –
Một chuyển đổi như vậy có ý nghĩa gì ??? – Oded
Tôi đã chỉnh sửa lại câu hỏi gốc để giải quyết vấn đề này, tôi cần trao đổi dữ liệu với một hệ thống có số nhưng không phải là mã số và nghĩ rằng GUID không giống như GUID sẽ hoạt động. – Snowy