日期:2014-05-18  浏览次数:20464 次

如何对两个整数进行与操作?(50分)
在存储过程中,要实现的内容如下:
传入一个整型参数@aaa,然后与数据库B表中的bbb字段(整型)进行与运算,判断与后的结果是否大于0,如果大于0,就返回真,否则假.
希望大家能帮忙~~~




------解决方案--------------------
declare @input int
set @input = 1233
select * from orders where @input&orderid> 0
------解决方案--------------------
我明白你的意思了

bbb&@aaa 放到字符串内被隐式转换成了varchar
所以你应该这样写

set @sqlstr= 'select * from b where (bbb&cast( ' ' '+@aaa+ ' ' ' as int))> 0 '

bbb应该不用写成cast(bbb as int)如果你行你再将bbb写强制转换
------解决方案--------------------
如上所述,

使用系统存储过程 sp_executesql 可显示指定参数
------解决方案--------------------
LS

推荐使用存储过程



------解决方案--------------------
太简单了吧
------解决方案--------------------
楼上的回答得很细了
------解决方案--------------------
可以结贴了
------解决方案--------------------
用存储过程的话hb_gx(高升)的做法就很棒,
存储过程中直接用这句

select case when (@aaa & (select bbb from table_name where bbb=800))=0 then 'true ' else 'false ' end
也可以