ALTER PROCEDURE [dbo].[usp_visit_detail]
(@siteid BIGINT,
 @Startime VARCHAR(15),
 @Endtime  VARCHAR(15),
 @Aflag  INT = 10,                                    --初始值为10,非10,则表示有传入参数
 @Area   VARCHAR(20) = 'N',               -- --初始值为N,非N,则表示有传入参数
 @Nflag  INT = 10,                                -初始值为10,非10,则表示有传入参数
 @VALUE1 varchar(20) = 'N'              --初始值为N,非N,则表示有传入参数

)
AS
BEGIN
 DECLARE @AFlag0      varchar(50),
          @NFlag0      varchar(50), 
          --@Sqlstr0     varchar(600),
          @Sqlstr      varchar(2000) 
          
  IF @AFlag = 10 
    SET @AFlag0 = ''
  ELSE 
    SET @AFlag0 = ' AND AFlag=' + CAST(@AFlag AS VARCHAR)

IF @Area = 'N' 
    SET @Area = ''
  ELSE 
    SET @Area = ' AND province=' + '''' + @Area + ''''
        
  IF @NFlag = 10 
    SET @NFlag0 = ''
  ELSE 
    SET @NFlag0 = ' AND NFlag=' + CAST(@NFlag AS VARCHAR)

IF @Value1 = 'N' 
    SET @Value1 = ''
  ELSE 
    SET @Value1 = ' AND value1=' + '''' + @Value1 + ''''   
   
   SET @Sqlstr =  'SELECT     a.Intime, c.Visitornm, c.Vcount, (CASE WHEN a.value2 = '+''''+''''+' THEN a.value1 + '+''''+''''+' WHEN a.value2 != '+''''+''''+' THEN a.value1 +'+ ''''+'-'+''''+' + a.value2 END) AS source0, 
   DATEDIFF(ms,a.Intime, a.Outtime) AS vtime, a.Pages, a.Rev1, dbo.GET_URL(a.SiteID, a.InURLID) AS inrul, dbo.GET_URL(a.SiteID, a.OutURLID) AS outrul
FROM dbo.F_Pages_T AS a INNER JOIN  (SELECT     VisitorID, MAX(ID) AS id FROM dbo.F_Pages_T WHERE SiteID = '+''''+CONVERT(VARCHAR,@siteid)+''''+ 'AND day0>= '+@startime+' AND day0<= ' +@endtime+@aflag0
+@area+   @Nflag0+ @Value1   +' GROUP BY VisitorID) AS b ON a.ID = b.id LEFT OUTER JOIN dbo.F_Visit AS c ON a.VisitorID = c.VisitorID'
                      
   PRINT @sqlstr
   EXEC (@sqlstr)
END

SQLSERVER 根据传入的参数拼接sql语句字符串,反馈结果集的更多相关文章

  1. java动态拼接sql语句并且执行时给sql语句的参数赋值

    问题 在这里举一个例子,比如我要做一个多条件模糊查询,用户输入的时候有可能输入一个条件,也有可能输入两个条件,这时执行查询的sql语句就不确定了,但可以用动态拼接sql语句来解决这个问题. 解决方法 ...

  2. 使用表达式避免拼接SQL语句

    在SQL语句编写过程中,无论在存储过程中还是在程序中,有时为了使语句兼容全部情况与某字段的特殊情况,不得不拼接SQL字串 如下表 商品ID 类别ID 1 1 2 1 3 2 4 3 5 3 如果我们要 ...

  3. 查询拼接SQL语句,多条件模糊查询

    多条件查询,使用StringBuilder拼接SQL语句,效果如下: 当点击按钮时代码如下: private void button1_Click(object sender, EventArgs e ...

  4. StringBuilder 拼接sql语句比较快

    StringBuilder 拼接sql语句比较快StringBuilder strBuilder = new StringBuilder();strSql += "insert into t ...

  5. 通过带参数的Sql语句来实现模糊查询(多条件查询)

    #region 通过带参数的Sql语句来实现模糊查询(多条件查询) StringBuilder sb = new StringBuilder("select * from books&quo ...

  6. ASP.NET实现列表页连接查询 拼接sql语句 绑定grivdView

    ASP.NET实现列表页连接查询 拼接sql语句 如图效果: 基本需求:1.当页面第一次加载的时候默认查询一个月时间(或者说是登陆者所属权限的所有数据)的数据绑定到gridView 2.添加查询条件时 ...

  7. 获取SQLServer的最完整数据字典的SQL语句

    原文:获取SQLServer的最完整数据字典的SQL语句 原创于2008年06月18日,2009年10月18日迁移至此. 获取SQLServer 的最完整数据字典的SQL 语句   其实网上已经流传了 ...

  8. SQL语句执行与结果集的获取

    title: SQL语句执行与结果集的获取 tags: [OLEDB, 数据库编程, VC++, 数据库] date: 2018-01-28 09:22:10 categories: windows ...

  9. 10.1(java学习笔记)JDBC基本操作(连接,执行SQL语句,获取结果集)

    一.JDBC JDBC的全称是java database connection java数据库连接. 在java中需要对数据库进行一系列的操作,这时就需要使用JDBC. sun公司制定了关于数据库操作 ...

随机推荐

  1. C#跨域

    //在ConfigureServices中配置 #region 跨域 var urls = "*";//Configuration["AppConfig:Cores&qu ...

  2. springboot4.1.1的log4j2配置

    一.默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台: 日志输出内容元素具体如下: 时间日期:精确到毫秒 日志级别:ERROR, WARN, INFO, D ...

  3. HBase与传统关系数据库的对比分析

  4. Vue:$route 和 $router 的区别

    参考: https://uzshare.com/view/788446 https://router.vuejs.org/zh/ $route 是“路由信息对象”,包括 path,params,has ...

  5. set_clock_latency

    set_clock_latancy用于定于虚拟时钟与真实时钟的延时 考虑最糟糕的情况,评估setup时数据会使用最大延时,时钟使用最小延时:评估hold时,数据使用最小延时,时钟使用最大延时.

  6. JZOJ5898【NOIP2018模拟10.6】距离统计

    题目 题目大意 给你带边权的树,然后有多高询问,每次询问距离某个点第kkk近的节点的距离. 思考 一眼看下去,首先就是想到如何动态的区间第K大,还要支持区间修改-- 于是想了半天,觉得不可做-- 最终 ...

  7. 3926: [Zjoi2015]诸神眷顾的幻想乡

    传送门 一个广义后缀自动机模板. //Achen #include<algorithm> #include<iostream> #include<cstring> ...

  8. java后台使用HttpURLConnection实现百度主动推送

    优点是快 不需要页面执行,,发布文章之后立即推送,所以,不管有没有人访问,都可以自动实时推送 尝试了一下httpclient,没找到相关资料,post方式无法塞url进去 最后改为 import ja ...

  9. 第一个SpringBoot插件-捕获请求并且支持重新发起

    SpringBoot 插件入门 简介 公司用的是SpringBoot,api框架用的是swagger-ui,确实用的不错,但是在使用过程中发现一个问题,就是当前端正式调用的时候,如果参数一多的话模拟请 ...

  10. python学习笔记1_import与from方法总结

    一.模块&包简介 模块:所谓模块就是一个.py文件,用来存放变量,方法的文件,便于在其他python文件中导入(通过import或from). 包(package): 包是更大的组织单位,用来 ...