C# 我可以使用纯SQL将SQL Server varbinary列中的字节数组转换为字符串吗?
我有一个字符串,我正在通过Unicode将其转换为一个字节数组,使用C#: 然后将其插入SQL Server中的varbinary列:C# 我可以使用纯SQL将SQL Server varbinary列中的字节数组转换为字符串吗?,c#,sql-server,unicode,encoding,C#,Sql Server,Unicode,Encoding,我有一个字符串,我正在通过Unicode将其转换为一个字节数组,使用C#: 然后将其插入SQL Server中的varbinary列: var command = new SqlCommand(); command.CommandText = "INSERT INTO Data (value) VALUES (@value)"; command.Parameters.AddWithValue("value", bytes); 因此,在“value”列中,我有一个字节数组,通过Unicode用C
var command = new SqlCommand();
command.CommandText = "INSERT INTO Data (value) VALUES (@value)";
command.Parameters.AddWithValue("value", bytes);
因此,在“value”列中,我有一个字节数组,通过Unicode用C#编码
有没有什么方法可以完全用SQL来解码,而不是用C#来提取和解码?我希望在某些情况下使用SQL中的文本值,并且我不想首先将其返回到C#
编辑:
我试图这样做:
SELECT CONVERT(NVarChar(40), value) FROM Data
然而,结果是某种类型的亚洲字符串(看起来像汉字),这告诉我编码是关闭的
分辨率
我是个白痴。进一步挖掘产生了实际的C代码
试图用SQL解码是行不通的——用ASCII编码的东西不能通过Unicode(-ish)进行解码。谷歌在线搜索下面的许多例子怎么样?看看linkI已经尝试过了。我对问题进行了编辑,以注意到。听起来可能是编码问题或铸造问题与转换看看下面的内容,这可能有助于了解转换(NVarChar应该可以工作;
选择转换(NVarChar(MAX),0x480065006c06c06c06f00)
他是否应该Hello
转换时是否默认为Unicode?
SELECT CONVERT(NVarChar(40), value) FROM Data
Encoding.ASCII.GetBytes(myString)