在SQL中将varbinary数据转换为varchar(就像在c#中使用ASCII.Default.GetString将bytearray转换为字符串一样)

时间:2014-01-07 12:40:22

标签: c# sql sql-server

我需要在SQL Server 2008中修复一些数据转换问题。我在存储数据时需要更改一些要求。我没有太在意,我使用

将现有的varbinary数据转换为SQL Server 2008中的varchar
CONVERT(NVARCHAR(max), @bytearraydata, 1)

使用ASCII.Default.GetStringASCII.Default.GetBytes api完成C#中的相同转换。 ASCII.Default.GetBytes(string)像以前一样返回字节数组。但是当我尝试返回使用SQL Server 2008的CONVERT()方法转换的字符串字节数组时,我得到了错误的结果。

我必须通过DB脚本对字节数组进行现有数据的字符串转换。

1 个答案:

答案 0 :(得分:0)

从MSDN参考中可以看出,从Varbinary到VarChar的转换支持隐式转换,这意味着您不需要使用CONVERT函数。只需分配值,SQL将负责其余部分,你试过吗?

http://msdn.microsoft.com/en-us/library/ms187928.aspx