如何用sql将binary字段转换为字符串显示

setu1 2004-12-10 10:19:33
binary存储的是字符窜的码,有汉字、字母等
如binary的值为
0x363636
应显示为
666




...全文
1756 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
guanshiyu123 2004-12-10
  • 打赏
  • 举报
回复
create table yy( dd int,tt varbinary(20))
insert yy(dd) values(1)

update yy set tt=0x363636

select cast (tt as varchar(8000)) from yy

666
guanshiyu123 2004-12-10
  • 打赏
  • 举报
回复
用varbinary
guanshiyu123 2004-12-10
  • 打赏
  • 举报
回复
注你的不是binary ,binary有位数限制,0x363636不是binary
select cast (字段名 as varchar(8000)) from 表
setu1 2004-12-10
  • 打赏
  • 举报
回复
select nchar(0x36)
---------------
6

select nchar(0x9510)
---------------



如上,单个字符很容易,如果要将binary字段转成字符串就没有那么简单,
而且字符还可能是汉字

binary字段是将字符串转为Unicode在存进去的
setu1 2004-12-10
  • 打赏
  • 举报
回复
看清楚,不要理解错
不是将binary显示出来,先将他转为字符,如,36是6的码
子陌红尘 2004-12-10
  • 打赏
  • 举报
回复
select cast (字段名 as varchar(8000))
setu1 2004-12-10
  • 打赏
  • 举报
回复
create table yy( dd int,tt varbinary(20))
insert yy(dd) values(1)

update yy set tt=0x3636369510

select cast (tt as varchar(8000)) from yy

-------
666?

应该为666锐

怎么解决汉字问题
setu1 2004-12-10
  • 打赏
  • 举报
回复
汉字好象会乱码

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧