22,209
社区成员
发帖
与我相关
我的任务
分享
where ...(t2.FNumber between @FStockID1 and @FStockID2 or t1.FNumber=@FNumber) or .t2.FNumber between @FStockID1 and @FStockID2 and t1.FNumber=@FNumber
declare @sql nvarchar(max)
--最初的连接表的部分你自己改
set @sql='select * from t1,t2 where 1=1 '
--1.
if @FStockID1 is not null and @FStockID2 is not null
begin
set @sql = @sql+' and t2.FNumber between @FStockID1 and @FStockID2 '
end
--2.
if @FNumber is not null
begin
set @sql = @sql + ' and t1.FNumber=@FNumber '
end
--3. 输出SQL
print @sql
--4. 执行
-- 参数类型你自己根据需要改
-- 参数写全部就可以了,多了不会有异常
exec sp_executesql @sql
,N'@FStockID1 int
,@FStockID2 int
,@FNumber int'
,@FStockID1
,@FStockID2
,@FNumber