首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

存储过程空参数则不查询解决方法

2012-11-04 
存储过程空参数则不查询写了一个存储过程,带有多个参数,希望的是如果某个参数为空则不参与查询条件,但测试

存储过程空参数则不查询
写了一个存储过程,带有多个参数,希望的是如果某个参数为空则不参与查询条件,但测试不成功不知道怎么回事
create proc 
@vehicleid nchar(12),
@dn numeric(8,0)
as 
select * from t1 where vehicleid like '%'+ isnull(@vehicleid,vehicleid) +'%' and dn = isnull(@dn,dn)

没有提示错误,只是查询的结果不正确。

[解决办法]
你这样写,当传入参数为空时,where条件就类似where 1=1 是恒成立的,结果当然不对

热点排行