[SQL-码农]字符组合式的T-SQL

这是公司的一个办法,可以判断参数Null值,无视这个Where控制

但现在还有更好的:http://blog.csdn.net/cracklibby/article/details/7562587

exec PROCEDURE @year,@month,@area
GO
CREATE procedure ...
@year int,
@month int,
@area varchar(10)
AS
Begin
declare @SQLbase varchar(2000)
declare @SQLLink varchar(2000)
declare @SQLWhere varchar(2000)
set @SQLbase=' select [...],[...],[...],[...],[...]
			from [Tab..]'
set @SQLLink=' '
set @SQLWhere='where 1=1  '


	if(@year is not null and @year <> ''  and @year <> ' ' )
	begin
		set @SQLWhere=@SQLWhere+'  and  year([date...]) = '''+@year+'''  '
	end

	if(@month is not null and @month <> ''  and @month <> ' ' )
	begin
		set @SQLWhere=@SQLWhere+'  and  month([date...]) = '''+@month+'''  '
	end

	if(@area is not null and @area <> ''  and @area <> ' ' )
	begin
		set @SQLWhere=@SQLWhere+'  in  '''+@area+'''  '
	end

--select @SQLbase
--select @SQLLink
--select @SQLWhere
exec (@SQLbase+@SQLLink+@SQLWhere)

END




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值