sql server 中存储过程where条件需要判断进行拼接
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了sql server 中存储过程where条件需要判断进行拼接,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3498字,纯文字阅读大概需要5分钟。
内容图文
USE [Mct]
2 GO
3 /****** Object: StoredProcedure [dbo].[P_CountIcCardTradInfo] Script Date: 05/20/2015 09:04:45 ******/
4 SET ANSI_NULLS
ON
5 GO
6 SET QUOTED_IDENTIFIER
ON
7 GO
8
9 ALTER PROCEDURE [dbo].
[P_CountIcCardTradInfo]
10 (
11 @bdate datetime,
12 @edate datetime,
13 @CusName varchar(
30),
14 @CardCode varchar(
30),
15 @BusinessType varchar(
30),
16 @UserCode varchar(
30)
17 )
18 AS
19 Declare @strSql varchar(
max)
20 set @strSql=‘select RecordTime,CardCode,CusCode,RelName,BoothCode,Deposit,UserCode,BusinessType,BusinessValue from #TempTableTradInfoCount where 1=1‘;
21
22 BEGIN
23 --创建临时表用于保存数据
24 Create table #TempTableTradInfoCount
25 (
26
27 RecordTime
datetime not null,
28 CardCode
varchar(
10)
not null,
29 CusCode
varchar(
30)
not null,
30 RelName
varchar(
30)
not null,
31 BoothCode
varchar(
30)
not null,
32 Deposit
decimal(
10,
2)
not null,
33 UserCode
varchar(
30)
not null,
34 BusinessType
varchar(
50)
not null,
35 BusinessValue
varchar(
50)
not null
36 )
37
38 if(
@bdate is not null)
and (
@bdate!=‘‘)
39 set @strSql= @strSql + ‘ and CONVERT(varchar(10),RecordTime,120) >= ‘‘‘+CONVERT(
varchar(
10),
@bdate,
120)
+‘‘‘‘ ;
40
41 if(
@edate is not null)
and (
@edate!=‘‘)
42 set @strSql= @strSql + ‘ and CONVERT(varchar(10),RecordTime,120) <=‘‘‘+CONVERT(
varchar(
10),
@edate,
120)
+‘‘‘‘ ;
43
44 if (
@CusName is not null)
and (
@CusName!=‘‘)
45 set @strSql= @strSql + ‘ and RelName = ‘‘‘ + @CusName +‘‘‘‘;
46
47 if (
@CardCode is not null)
and (
@CardCode!=‘‘)
48 set @strSql= @strSql + ‘ and CardCode =‘‘‘ + @CardCode+‘‘‘‘ ;
49
50 if (
@BusinessType is not null)
and (
@BusinessType!=‘‘)
51 set @strSql= @strSql + ‘ and BusinessType =‘‘‘ + @BusinessType+‘‘‘‘ ;
52
53 if (
@UserCode is not null)
and (
@UserCode!=‘‘)
54 set @strSql= @strSql + ‘ and UserCode =‘‘‘ + @UserCode +‘‘‘‘;
55
56 --print @strsql;
57
58 --主卡
59 insert into #TempTableTradInfoCount(RecordTime,CardCode,CusCode,RelName,BoothCode,Deposit,UserCode,BusinessType,BusinessValue)
60 select EditDate,IcCardNoCpu,Kh_dm,Kh_mc,
‘‘,
0,UseCode,
‘MainCard‘,
‘主卡‘ from Khda
where IcCardNoCpu
!=‘‘ and (UseCode
!=‘Y‘ or UseCode
!=‘y‘)
61
62 --副卡
63 insert into #TempTableTradInfoCount(RecordTime,CardCode,CusCode,RelName,BoothCode,Deposit,UserCode,BusinessType,BusinessValue)
64 select EditDate,PartCardNo,Khdm,Khmc,
‘‘,ysje,UserCode,
‘ViceCard‘,
‘副卡‘ from IcCardCopyRecord
65
66 --临时卡转正
67 insert into #TempTableTradInfoCount(RecordTime,CardCode,CusCode,RelName,BoothCode,Deposit,UserCode,BusinessType,BusinessValue)
68 select pd.RecordTime,cus.IcCardNoCpu,cus.Kh_dm,cus.Kh_mc,
‘‘,pd.Deposit,Registration,
‘TemCard‘,
‘临时卡‘ from PositiveDeposit pd
inner join Khda cus
on pd.CustomerCord
=cus.Kh_dm
69
70 --挂失
71 insert into #TempTableTradInfoCount(RecordTime,CardCode,CusCode,RelName,BoothCode,Deposit,UserCode,BusinessType,BusinessValue)
72 select LossRq,CardCode,Khdm,Khmc,
‘‘,Gsf,UserCode,
‘LossCard‘,
‘挂失‘ from IcCardLoss
73
74 --退卡
75 insert into #TempTableTradInfoCount(RecordTime,CardCode,CusCode,RelName,BoothCode,Deposit,UserCode,BusinessType,BusinessValue)
76 select EditDate,CardCode,Khdm,Khmc,
‘‘,Tkf,UserCode,
‘BackCard‘,
‘退卡‘ from IcCardReturn
77
78 exec(
@strSql);
79
80 END
sql server 中存储过程where条件需要判断进行拼接
标签:
本文系统来源:http://www.cnblogs.com/lp09/p/4516852.html
内容总结
以上是互联网集市为您收集整理的sql server 中存储过程where条件需要判断进行拼接全部内容,希望文章能够帮你解决sql server 中存储过程where条件需要判断进行拼接所遇到的程序开发问题。
如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
来源:【匿名】