sql-server – 如何将nvarchar解码为文本(SQL Server 2008 R2)?
发布时间:2020-05-24 09:27:25 所属栏目:MsSql 来源:互联网
导读:我有一个带有nvarchar(4000)字段的SQL Server 2008 R2表. 存储此表的数据看起来像 ‘696D616765206D61726B65643A5472’ 要么 ‘303131’(“011”). 我看到每个char都编码为十六进制. 如何从表中读取这些数据?我不想写写解码功能,我的意思是存在更简单的方法.
|
我有一个带有nvarchar(4000)字段的SQL Server 2008 R2表. 存储此表的数据看起来像 ‘696D616765206D61726B65643A5472’ 要么 ‘303131’(“011”). 我看到每个char都编码为十六进制. 如何从表中读取这些数据?我不想写写解码功能,我的意思是存在更简单的方法. 附:对不起我的英语不好. 解决方法SQL Server 2008实际上具有内置的十六进制编码和解码功能!示例(将字符串转换为VarBinary时,请注意第三个参数值为“1”): DECLARE @ProblemString VarChar(4000) = '54657374' SELECT Convert(VarChar,Convert(VarBinary,'0x' + @ProblemString,1)) 参考:http://blogs.msdn.com/b/sqltips/archive/2008/07/02/converting-from-hex-string-to-varbinary-and-vice-versa.aspx 这种方法的优点是你不需要你通常试图避免的“Exec”调用,因为害怕注入其他东西.缺点是它只适用于SQL Server 2008及更高版本. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
