在t-sql中将二进制转换为uniqueidentifier?

Lea*_*ner 4 t-sql sql-server-2008-r2

我有以下代码将唯一标识符转换为二进制:

CAST(GUID AS BINARY(16))
Run Code Online (Sandbox Code Playgroud)

这导致了这一点 '0x56B3C0955919CD40931F550749A83AF3'

现在,我想将此(即二进制字符串值 '0x56B3C0955919CD40931F550749A83AF3')转换为唯一标识符.

有任何简单的方法来实现这一目

Aar*_*and 8

呃,把它换回来?

DECLARE @n UNIQUEIDENTIFIER = NEWID();

SELECT @n;
SELECT CONVERT(BINARY(16), @n);
SELECT CONVERT(UNIQUEIDENTIFIER, CONVERT(BINARY(16), @n));
Run Code Online (Sandbox Code Playgroud)

如果您有二进制值0x56B3C0955919CD40931F550749A83AF3,请在尝试转换时停止将其放入引号.例如:

SELECT CONVERT(UNIQUEIDENTIFIER, 0x56B3C0955919CD40931F550749A83AF3);
Run Code Online (Sandbox Code Playgroud)

这不是你追求的结果吗?

95C0B356-1959-40CD-931F-550749A83AF3
Run Code Online (Sandbox Code Playgroud)