sql-server – 如何将nvarchar解码为文本(SQL Server 2008 R2)?
发布时间:2020-12-12 07:01:59 所属栏目: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及更高版本. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- MS-SQL Server 2005 其中三个版本的比较
- 老汉写的--SQLSERVER数据存储内幕
- sql – 如何使用Django Queryset在列中找到top-X最高值而不
- SQLSERVER数据备份文件的分割备份方法
- Spring jdbc中数据库操作对象化模型的实例详解
- sql-server – SQL Server如何决定隐式datetime转换的格式?
- sql – 有没有替代MULTISET运算符,以避免子查询?
- SQLserver的问题搞定了,就是重装系统清理一下C盘更新注册表
- 超详细mysql left join,right join,inner join用法分析
- SQLServer2016 AlwaysOn基于证书的搭建笔记