Osc*_*car 6 c# t-sql sql-server bytearray
我们使用c#和BinaryFormatter将varBinary类型存储在数据库中.我们转换为字节数组,然后保存到DataBase
public static byte[] ToBytes(stringvalue)
{
if (value == null)
return null;
byte[] inMemoryBytes;
using (MemoryStream inMemoryData = new MemoryStream())
{
new BinaryFormatter().Serialize(inMemoryData, value);
inMemoryBytes = inMemoryData.ToArray();
}
return inMemoryBytes;
}
Run Code Online (Sandbox Code Playgroud)
好的,所以如果我们保存char"a",我们可以在数据库中看到"0x0001000000FFFFFFFF0100000000000000060100000001610B".我们可以检索数据并再次转换为字符串.
我们是否可以仅使用transact SQL将此二进制值("0x0001000000FFFFFFFF0100000000000000060100000001610B")转换为char("a")(因此我们可以从sql server控制台进行修改,插入和比较)?
非常感谢.
你可以使用更简单的东西,例如
Encoding.Default.GetBytes("a");
Run Code Online (Sandbox Code Playgroud)
这将返回“61”并且可以更容易地转换为 varchar,只需运行以下命令:
create table #sample (content varbinary(max));
insert into #sample values (0x61)
select cast(content as varchar) from #sample
Run Code Online (Sandbox Code Playgroud)