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
};
}
是否有任何等效或简单的方法来转换SQL Server的uniqueidentifier
获得相同的字节数组(作为varbinary
)?
基本上,我在寻找c#的等效
byte[] arr = new Guid("FFFA9208-0391-4924-947F-C0556198D2FC").ToByteArray();
in SQL Server:
select MagicalFunction('FFFA9208-0391-4924-947F-C0556198D2FC') -- outputs varbinary
谢谢!
您的psuedocode是:
select MagicalFunction('FFFA9208-0391-4924-947F-C0556198D2FC') -- outputs varbinary
目前您的GUID实际上是文本类型,因此您首先需要将其转换为UNIQUEIDENTIFIER
,然后最后转换为VARBINARY
。你可以这样做:
SELECT CAST(CAST('FFFA9208-0391-4924-947F-C0556198D2FC' AS UNIQUEIDENTIFIER) AS VARBINARY(16))