【问题标题】:How can I convert a C# byte array into a binary string to be pasted in a SQL script? [duplicate]如何将 C# 字节数组转换为二进制字符串以粘贴到 SQL 脚本中? [复制]
【发布时间】:2019-07-03 20:23:09
【问题描述】:

为了清楚起见,我不想直接从 C# 插入 SQL Server。

我想将 C# 字节数组转换为二进制字符串,以便可以将其粘贴到 SQL 脚本中,如下所示:

insert into Files (FileId, FileData) values (1, 0x010203040506)

我该怎么做?

【问题讨论】:

  • INSERT 语句中的值是十六进制,而不是二进制。
  • @BACON,谢谢,我使用的是我在这篇文章中看到的术语:stackoverflow.com/a/1120749/64279

标签: c# sql-server


【解决方案1】:

SQL Server 中的Binary constants '具有前缀 0x 并且是一串十六进制数字'。

您可以使用"x2" format string 将每个字节转换为十六进制,并将结果与​​String.Join() 结合起来:

var bytes = new byte[] {1, 2, 3, 4, 5, 6};
var binaryString = "0x" + string.Join("", bytes.Select(b => b.ToString("x2")));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-17
    • 2013-07-09
    • 1970-01-01
    • 2014-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多