900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > phpsql拼接_SQL存储过程中SQL语句拼接

phpsql拼接_SQL存储过程中SQL语句拼接

时间:2019-07-13 04:53:11

相关推荐

phpsql拼接_SQL存储过程中SQL语句拼接

set ANSI_NULLS ON

set QUOTED_IDENTIFIER ON

go

-- =============================================

-- Author:wgh

-- Create date: -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+''' 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

发布php中文网,转载请注明出处,感谢您的尊重!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。