存储过程中bit类型字段参数
问题描述如下:
假设T_user有字段registered,类型是bit,表示是否注册过了。写了一个存储过程,如下:
create procedure getData
@registered int
as
begin
select * from T_user where registered = @registered
end
执行存储过程给register赋1时,能查询出结果。即便表中register字段值全为0,也能返回一个空的结果集。但当给参数赋0值时,没有结果集返回。不知道有没有人遇到过这样的问题。@registered 参数弄成bit型也试过了,一样的。
------解决方案--------------------保持数据类型一致是必须的。
create procedure getData
@registered
int--bit
as
begin
select * from T_user where registered = @registered
end
你调试一下传进去的参数是什么数据
------解决方案--------------------因为那两个是数值型,''是字符串