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. hive设置列头(永久模式)

    到hive目录下的hive-site <property> <name>hive.cli.print.header</name> <value>true ...

  2. kafka offset manage

    kafka low api:fetch数据从topic partition offset buffsize长度. 提交一般两个维度:时间维度,满多少条提交(0.8X之前是没这参数) 在0.8.2.2版 ...

  3. HZOI20190822模拟29题解

    题面:https://www.cnblogs.com/Juve/articles/11396238.html 下面开始一句话题解: A:爬山: 二分答案,check即可 #include<ios ...

  4. Vue 本地代理 纯前端技术解决跨域

    vue-axios获取数据很多小伙伴都会使用,但如果前后端分离且后台没设置跨域许可,那要怎样才能解决跨域问题? 常用方法有几种: 通过jsonp跨域 通过修改document.domain来跨子域 使 ...

  5. 深入浅出 Java Concurrency (22): 并发容器 part 7 可阻塞的BlockingQueue (2)[转]

    在上一节中详细分析了LinkedBlockingQueue 的实现原理.实现一个可扩展的队列通常有两种方式:一种方式就像LinkedBlockingQueue一样使用链表,也就是每一个元素带有下一个元 ...

  6. MyBatis-Spring(五)--MapperScannerConfigurer实现增删改查

    上一篇文章中已经介绍,MapperScannerConfigurer可以通过扫描的方式获取我们需要的mapper,而不需要我们自己去配置,它的基本配置如下: <bean class=" ...

  7. nodejs+express 初学(三)

    Nodejs 的模块,nodejs中每一个js文件都是独立的,不用担心他们中的变量会相互覆盖 模块是 Node.js 应用程序的基本组成部分,文件和模块是一一对应的.换言之,一个Node.js 文件就 ...

  8. 数据库访问技术 odbc dao rdo uda jet oledb

    一.UDA(UniversalDataAccess) 这是微软提供的通用数据访问策略.包括ADO.OLEDB和ODBC.它不光提供了数据库的访 问能力,对于其它的数据存储技术也同样支持,如目录服务.E ...

  9. 关于SQL查询效率 主要针对sql server

    1.关于SQL查询效率,100w数据,查询只要1秒,与您分享:机器情况p4: 2.4内存: 1 Gos: windows 2003数据库: ms sql server 2000目的: 查询性能测试,比 ...

  10. WebConfig配置文件

    <?xml version="1.0"?> <!--注意: 除了手动编辑此文件以外,您还可以使用 Web 管理工具来配置应用程序的设置.可以使用 Visual S ...