SQL语句求教!(50分)

I

IUnknow

Unregistered / Unconfirmed
GUEST, unregistred user!
用SQL语句完成某数值字段的各行值的“或”运算,譬如
字段名称Value,共三行
二进制值
00101000
01100101
10100010
结果为以上各数值的“或”运算值
01101111

求教?
 
00101000 | 01100101 | 10100010
 
没有现成的函数吧 可以用存储过程 也可以查出值依次运算
 
qianwt理解有误,上面只是某个特例,实际上,只知道字段名称,实际数值、行数等均不确定
 
select field1 | field2 from sysobjects 一样也可以呀
 
可以但比较麻烦,需要逐位进行构造:
比如最后一位:
iif(sum(field&1)>0,1,0)
sum(field&1)>0?1:0
我不记得SQL有没有以上的表达形式。
如果有,可以写成

iif(sum(field&128)>0,128,0)+iif(sum(field&64)>0,64,0)+
iif(sum(field&32)>0,32,0)+iif(sum(field&16)>0,16,0)+
iif(sum(field&8)>0,8,0)+iif(sum(field&4)>0,4,0)+
iif(sum(field&2)>0,2,0)+iif(sum(field&1)>0,1,0)
 

Similar threads

顶部