SQL 存储过程,传入的参数为null的问题
我有一个存储过程如下:CREATEPROCEDUREP@para1nvarchar(50),@para2nvarchar(50),@para3nvarchar(50),A...
我有一个存储过程如下:
CREATE PROCEDURE P
@para1 nvarchar(50),
@para2 nvarchar(50),
@para3 nvarchar(50),
AS
SELECT * from t_userDetailInfo
where userName=@para1 or techArea=@para2 or techFocus=@para3
后台调用时如果userName,techArea,techFoucus中有null值时,传入SQL中查询就得不到想要的结果。
因为SQL中要用 is null的格式。。。
但是这个怎么解决呢?
唉我不知道我说清楚那个意思没...
望高手解答...
我的意思是,如果全部为NULL则全部查询出来,相当于select * from tb where 1=1 展开
CREATE PROCEDURE P
@para1 nvarchar(50),
@para2 nvarchar(50),
@para3 nvarchar(50),
AS
SELECT * from t_userDetailInfo
where userName=@para1 or techArea=@para2 or techFocus=@para3
后台调用时如果userName,techArea,techFoucus中有null值时,传入SQL中查询就得不到想要的结果。
因为SQL中要用 is null的格式。。。
但是这个怎么解决呢?
唉我不知道我说清楚那个意思没...
望高手解答...
我的意思是,如果全部为NULL则全部查询出来,相当于select * from tb where 1=1 展开
3个回答
展开全部
MySQL教程4 MySQL8运算符、函数、存储过程及新增数据类型 17.之创建带有IN和OUT参数的存储过程 学习猿地
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
加个or @paraN is null不就行了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你动态拼sql就可以了,把不为空的条件拼起来。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询