declare @txtkey as char(50)
set @txtkey='d'
declare @sql nvarchar(3000)
set @sql='select distinct(cp_chd_客户系编) from cp_出货单 LEFT OUTER JOIN
cp_客户表 on cp_客户表.cp_khb_系统编号=cp_出货单.cp_chd_客户系编
where cp_chd_交易额<>0 and (cp_khb_公司 like'
begin
set @sql=rtrim(@sql+' ''%'+rtrim(@txtkey)+'%''')
print @sql
end
结果如下:
select distinct(cp_chd_客户系编) from cp_出货单 LEFT OUTER JOIN
cp_客户表 on cp_客户表.cp_khb_系统编号=cp_出货单.cp_chd_客户系编
where cp_chd_交易额<>0 and (cp_khb_公司 like '%d%'
问题解决
再如:
create proc proc_ceshi
@a nvarchar(20),
@b nvarchar(20)
as
begin
declare @sql nvarchar(100)
set @sql='select * from song where 1=1'
begin
set @sql=@sql+' and c between '''+@a+''' and '''+@b+''''
end
print @sql--顯示生成格式
--exec(@sql)
end
评论