我现在有这样的问题,declare @ id,select * user where id in (@id),当id为空或者为“”时不执行in,
搜索全部,应该怎么写这个语句,求解答,感谢!!
declare @ id,select * user where id in (@id) and not exist (select 1 from user where id is null or id='')
if判断@id,然后将where语句定义在一个变量,判断@id是否为空或者为“”,如果是的话就执行 select * from user,否则的话就执行select * from user +@sql
declare @id int
declare sqlstr nvarchar(max)=N''
select sqlstr=N'select * from user where 1=1 '
if @id<>''
begin
select sqlstr=sqlstr+N' and id in ('+@id+N')'
end
exec (sqlstr)