declare @b binary(2),@b1 binary(2)
set @b=0x00FF
set @b1=convert(binary,'安')
print cast(@b as int)&cast(@b1 as int)
set @b=0x00FF
set @b1=convert(binary,'安')
print cast(@b as int)&cast(@b1 as int)
解决方案 »
- 求一SQL语句
- 命名自动增加的SQL语句
- SQL Server 2005启动失败
- 请问INFORMATION_SCHEMA.TABLES是什么表(视图),存放什么数据的?
- 存储过程一个棘手问题
- 关于全文索引.. 有答案或者经验之谈就结贴~~[80]
- 我想在我的VB程序中访问INTERNET上的数据库,请问可否用DAO,RDO,DAO之类的东西???
- 请教一个备份的数据还原的问题
- 高手请进,比我更好的方法,求一查询语句
- sql表合并
- 重复记录删除问题
- select sum(PH) as wat from Tab_m_outmwat WHERE (JSDate BETWEEN '2005-02-1' AND '2005-02-30') 如何获得一个月的数据合?
print cast(convert(binary, '安') as int)
雨枫的@b有什么用吗?
16位两字节二进制表示是0000000011111111
他与目标数进行与操作,根据与的特点,两者为1才为1,所以它的目的是取出目标数的低八位
即安的45234的十六进制表示为B0B2,而其
二进制为10110000 10110010与00000000 11111111进行与操作
即
10110000 10110010
& 00000000 11111111
------------------------
得 00000000 10110010
应该如此吧
不知道你看不看得懂
set @bytes=convert(binary,'安')print cast(@bytes as int)print 0x00FF & cast(@bytes as int)print 0xFF00 & cast(@bytes as int)print 178 | 45056--- out put ----
45234
178
45056
45234
set @bytes=convert(binary,'烫')--低8位的10进制值
print 0x00FF & cast(@bytes as int)
--高8位的10进制值
print (0xFF00 & cast(@bytes as int))/256--结果
204
204测试
select char(204)+char(204)--结果
----
烫(所影响的行数为 1 行)
set @bytes=convert(binary,'安')--低8位
print 0x00FF & cast(@bytes as int)
--高8位
print (0xFF00 & cast(@bytes as int))/256--结果
178
176select char(176)+char(178)--结果
----
安(所影响的行数为 1 行)