try:
@groupid='10,25,26,30,20,39,31,32,96'

解决方案 »

  1.   

    declare @begintime as smalldatetime
    declare @endtime as smalldatetime
    set @begintime=2003/09/01
    set @endtime=2003-09-30
    declare @str varchar(500)
    declare @groupid as varchar(500)set @groupid='''10,25,26,30,20,39,31,32'''set @str = 'select CONVERT(varchar,sdsm_sendtime,111)  as 日期 , ''成功'' as 状态,count(*)as 数量 from dbo.[tb_CoreSendSmLog] c,dbo.[tb_ClientUserGroup] u where c.sdsm_revnum=u.cuug_mobile_code and c.sdsm_sendtime>='''+CAST(@begintime as varchar)+ ''' and c.sdsm_sendtime<='''+CAST(@endtime as varchar)+ ''' and c.sdsm_send_isok = 1 and  (u.cuug_group_id1 in ('+cast(@groupid as nvarchar)+' ) or u.cuug_group_id2 in ('+cast(@groupid as nvarchar)+' ) or u.cuug_group_id3 in ('+cast(@groupid as nvarchar)+' )) group by CONVERT(varchar,c.sdsm_sendtime,111)'  
    print @str
    exec(@str)
      

  2.   

    declare @begintime as smalldatetime
    declare @endtime as smalldatetime
    set @begintime=2003/09/01
    set @endtime=2003-09-30
    declare @str varchar(500)
    declare @groupid as varchar(500)set @groupid='10,25,26,30,20,39,31,32,96'set @str = 'select CONVERT(varchar,sdsm_sendtime,111)  as 日期 , ''成功'' as 状态,count(*)as 数量 from dbo.[tb_CoreSendSmLog] c,dbo.[tb_ClientUserGroup] u where c.sdsm_revnum=u.cuug_mobile_code and c.sdsm_sendtime>='''+CAST(@begintime as varchar)+ ''' and c.sdsm_sendtime<='''+CAST(@endtime as varchar)+ ''' and c.sdsm_send_isok = 1 and  (u.cuug_group_id1 in ('+cast(@groupid as nvarchar)+' ) or u.cuug_group_id2 in ('+cast(@groupid as nvarchar)+' ) or u.cuug_group_id3 in ('+cast(@groupid as nvarchar)+' )) group by CONVERT(varchar,c.sdsm_sendtime,111)'  
    print @str
    exec(@str)