超过长度? 直接拼接sql来的? 那你定义的变量的长度是多少?如果不够就直接给nvarchar(max)。
多条件?那肯定有变量来接受传入的参数:@Option1 varchar(300),
if(len(Option1)>0)
begin
--执行你的语句
end
else
begin
--提示参数未传入值
end
追问我条件项有10多项这样写 沉余太大了。
用 SP_EXECUTESQL 就可以解决拼接字条超过varchar(max)
追答那就先执行部分条件筛选,结果存入临时表,最后做最终筛选
本回答被提问者和网友采纳