• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

SQL存储过程中SQL语句拼接

php 搞代码 4年前 (2022-01-04) 32次浏览 已收录 0个评论

set ANSI_NULLS ON

set QUOTED_IDENTIFIER ON

go

— =============================================

— Author:wgh

— Create date: 2012-06-07

— Description: IP访问预统计

— =============================================

CREATE PROCEDURE [dbo].[PROC_HB_PreStatByIP]

@BeginTime varchar(50),

@EndTime varchar(50),

@TimeType int, –0代表小时 、 1代表天

@ChannelID varchar(10)='0',

@IpAddress varchar(20)

AS

BEGIN

declare @sql1 nvarchar(2000)

IF @TimeType = 0

BEGIN

SET @sql1='SELECT CONVERT(varchar(13),AddTime,120) AS ''日期''

,ChannelID AS ''推广渠道''

,IPAddress AS ''IP地址''

,ViewCount AS ''浏览次数''

,ClickCount AS ''点击次数''

FROM dbo.HB_AdPreStatIP WHERE AddTime>='''+@BeginTime+''&#来源gaodaimacom搞#代%码网39; AND AddTime<='''+@EndTIme+''''

IF @ChannelID <> '0'

BEGIN

SET @sql1 =@sql1 + ' AND ChannelID='''+@ChannelID+''''

END

IF @IpAddress <> ''

BEGIN

SET @sql1 =@sql1 +' AND IPAddress='''+@IpAddress+''''

END

SET @sql1 =@sql1+' ORDER BY ViewCount DESC'

END

ELSE

BEGIN

SET @sql1='SELECT CONVERT(varchar(10),AddTime,120) AS ''日期''

,ChannelID AS ''推广渠道''

,IPAddress AS ''IP地址''

,SUM(ViewCount) AS ''浏览次数''

,SUM(ClickCount) AS ''点击次数''

FROM dbo.HB_AdPreStatIP WHERE AddTime>='''+@BeginTime+''' AND AddTime<='''+@EndTIme+''''

IF @ChannelID > '0'

BEGIN

SET @sql1 =@sql1 + ' AND ChannelID='''+@ChannelID+''''

END

IF @IpAddress <> ''

BEGIN

SET @sql1 =@sql1 +' AND IPAddress='''+@IpAddress+''''

END

SET @sql1 =@sql1 + 'GROUP BY CONVERT(varchar(10),AddTime,120),ChannelID,IPAddress ORDER BY SUM(ViewCount) DESC'

END

EXEC sp_executesql @sql1

END


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:SQL存储过程中SQL语句拼接

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址