【求助】怎样把Varbinary格式的数据转换成可读的形式?

silentvally 2014-01-02 09:06:35
求助各位大神,在数据库查询中,表格的某一类变量是VarBinary类型来存储的,求问怎样把这种类型的数据转换成可以识别的格式呢?比如字符串,数字等等?

或者说这一列数据是被加密了,所以看起来才是VarBinary格式的16进制数?

由于数据库是直接从别人处拷贝的,求助小伙伴们解决方案呀~

...全文
220 点赞 收藏 8
写回复
8 条回复
發糞塗牆 2014年01月08日
select cast(@b as nvarchar(max)) 这样呢?
回复 点赞
silentvally 2014年01月08日
引用 4 楼 ejason 的回复:
用開發語言讀出耒,流機制讀.
不好意思,最近事情比较多未能及时回复。。。 目前我们只是希望提取数据进行分析,还没有用到什么开发工具,只是想把这列二进制存储的数据提取成我们可以识别的数据类型,但是不知道合适的转换方式或者数据是否经过加密? 谢谢~
回复 点赞
guguda2008 2014年01月08日
引用 5 楼 silentvally 的回复:
[quote=引用 3 楼 stublue 的回复:] 你存进去的时候是怎么转成二进制的,再相应的逆向转回来
不好意思,最近事情比较多未能及时回复。。。 这是一个工程项目的数据,数据库是对方直接拷贝给我们的,应该是对方的工控软件直接存储起来的,我们也不知道存储时候是怎样转换的,目前我怀疑存储过程中有加密的行为,因此无法解开,因为已经试过用: declare @b varbinary(max) set @b = 0x5468697320697320612074657374 select cast(@b as varchar(max)) /*Returns "This is a test"*/ 这样的方式来转换数据,结果一长串二进制数只能得到一个'?'号。。。 [/quote] 在我这跑是正常的。。。。你试试用nvarchar代替varchar
回复 点赞
silentvally 2014年01月08日
引用 3 楼 stublue 的回复:
你存进去的时候是怎么转成二进制的,再相应的逆向转回来
不好意思,最近事情比较多未能及时回复。。。 这是一个工程项目的数据,数据库是对方直接拷贝给我们的,应该是对方的工控软件直接存储起来的,我们也不知道存储时候是怎样转换的,目前我怀疑存储过程中有加密的行为,因此无法解开,因为已经试过用: declare @b varbinary(max) set @b = 0x5468697320697320612074657374 select cast(@b as varchar(max)) /*Returns "This is a test"*/ 这样的方式来转换数据,结果一长串二进制数只能得到一个'?'号。。。
回复 点赞
silentvally 2014年01月03日
引用 1 楼 yupeigu 的回复:
这个sql server做不了,得用程序把这一列读出来后,按照 字符的对应关系,把这些二进制的,转化为具体的汉字或者字母、数字
这是一个生产现场数据,已经知道的是这一列存储的是一段时间内采集到的机器数据,比如压力、温度之类的信息,怎样像你说的按照字符对应关系来转化呢?有转化对照表么?
回复 点赞
阳泉酒家小当家 2014年01月03日
这个sql server做不了,得用程序把这一列读出来后,按照 字符的对应关系,把这些二进制的,转化为具体的汉字或者字母、数字
回复 点赞
铁歌 2014年01月03日
用開發語言讀出耒,流機制讀.
回复 点赞
Leon_He2014 2014年01月03日
你存进去的时候是怎么转成二进制的,再相应的逆向转回来
回复 点赞
发动态
发帖子
应用实例
创建于2007-09-28

1.1w+

社区成员

6.8w+

社区内容

MS-SQL Server 应用实例
社区公告
暂无公告