简体   繁体   English

C# Guid.ToByteArray() 在 SQL Server 中等效

[英]C# Guid.ToByteArray() equivalent in SQL Server

C# has a built-in function ToByteArray() please see below: C# 有一个内置函数ToByteArray()请看下面:

public byte[] ToByteArray()
{
    return new byte[16]
    {
        (byte)_a,
        (byte)(_a >> 8),
        (byte)(_a >> 16),
        (byte)(_a >> 24),
        (byte)_b,
        (byte)(_b >> 8),
        (byte)_c,
        (byte)(_c >> 8),
        _d,
        _e,
        _f,
        _g,
        _h,
        _i,
        _j,
        _k
    };
}

Is there any equivalent or an easy way to convert a SQL Server's uniqueidentifier to get the same byte array (as varbinary )?是否有任何等效或简单的方法来转换 SQL Server 的uniqueidentifier以获得相同的字节数组(如varbinary )?

Basically, I'm looking for equivalent of C#基本上,我正在寻找 C# 的等价物

byte[] arr = new Guid("FFFA9208-0391-4924-947F-C0556198D2FC").ToByteArray();

in SQL Server:在 SQL Server 中:

select MagicalFunction('FFFA9208-0391-4924-947F-C0556198D2FC') -- outputs varbinary

Thank you!谢谢!

Your psuedocode is this:你的伪代码是这样的:

select MagicalFunction('FFFA9208-0391-4924-947F-C0556198D2FC') -- outputs varbinary

Currently your GUID is actually a textual type, so you will first need to convert it to a UNIQUEIDENTIFIER and then finally to a VARBINARY .目前您的 GUID 实际上是一种文本类型,因此您首先需要将其转换为UNIQUEIDENTIFIER ,然后最后转换为VARBINARY You can do this like so:你可以这样做:

SELECT CAST(CAST('FFFA9208-0391-4924-947F-C0556198D2FC' AS UNIQUEIDENTIFIER) AS VARBINARY(16))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM