您的位置:首页 > 数据库

转载一篇拼SQL字符串的语句

2008-07-08 15:08 288 查看
set ANSI_NULLS ON

set QUOTED_IDENTIFIER ON

go

ALTER PROCEDURE [dbo].[T_Consultation_Select]

@ConsultationStyleID TINYINT,

@AnswerUserID VARCHAR(30),

@IncomeCallBeginTime [DATETIME],

@IncomeCallEndTime [DATETIME]

AS

BEGIN

DECLARE @whereStr VARCHAR(8000),

@count INT

SET @count=0

SET @whereStr=''

IF @ConsultationStyleID IS NOT NULL

BEGIN

IF(@count>0)

BEGIN

SELECT @whereStr=@whereStr+' AND T_Consultation.ConsultationStyleID ='+Convert(Varchar(10),@ConsultationStyleID)

END

ELSE

BEGIN

SELECT @whereStr=@whereStr+' T_Consultation.ConsultationStyleID ='+Convert(Varchar(10),@ConsultationStyleID)

END

SET @count=@count +1

END

IF @AnswerUserID IS NOT NULL

BEGIN

IF(@count>0)

BEGIN

SELECT @whereStr=@whereStr+' AND T_Consultation.AnswerUserID ='''+Convert(Varchar(10),@AnswerUserID)''

END

ELSE

BEGIN

SELECT @whereStr=@whereStr+' T_Consultation.AnswerUserID ='''+Convert(Varchar(10),@AnswerUserID)''

END

SET @count=@count +1

END

IF @IncomeCallBeginTime IS NOT NULL

BEGIN

IF(@count>0)

BEGIN

SELECT @whereStr=@whereStr+' AND T_Consultation.CreateTime >=''+ CONVERT(VARCHAR(10),@IncomeCallBeginTime)'''

END

ELSE

BEGIN

SELECT @whereStr=@whereStr+' T_Consultation.CreateTime >='' + CONVERT(VARCHAR(10),@IncomeCallBeginTime)'''

END

END

IF @IncomeCallEndTime IS NOT NULL

BEGIN

IF(@count>0)

BEGIN

SELECT @whereStr=@whereStr+' AND T_Consultation.CreateTime <='' + CONVERT(VARCHAR(10),@IncomeCallEndTime)'''

END

ELSE

BEGIN

SELECT @whereStr=@whereStr+' T_Consultation.CreateTime <='' + CONVERT(VARCHAR(10),@IncomeCallEndTime)'''

END

END

IF(@count>0)

SELECT @whereStr='SELECT [CreateTime]

FROM T_Consultation WHERE T_Consultation.FollowUpMark='+'1'+' And ' + @whereStr

ELSE

SELECT @whereStr='SELECT ConsultationID,(SELECT ParaName FROM T_SysPara WHERE GroupID=14 AND ParaID=T_Consultation.ConsultationStyleID)AS ConsultationStyleID,

[ConsultationContent],[ConsultationResults],(SELECT ParaName FROM T_SysPara WHERE GroupID=16 AND ParaID=T_Consultation.HaveOrderingIntention)AS HaveOrderingIntention,[OrderingIntentionContent],

[CustomerID],[AnswerUserID],[CreateTime]

FROM T_Consultation where T_Consultation.FollowUpMark='+'1'

END

select (@whereStr)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: