- 浏览: 40857 次
文章分类
最新评论
写sql时经常会碰到条件不定的情况,好多兄弟都是在哪儿无穷的拼接字符串,我也这样做过,太难弄了,老是搞错,后来用了这样的技巧受用无限:
原来的方法
其实最终就是学会OR的妙用
原来的方法
ALTER procEDURE [dbo].[HollySys_NewsArticles_GetLinks] ( @sWhere nvarchar(255) ) AS declare @strYuJu nvarchar(1000) set @strYuJu='SELECT [ID] ,[OrganizationID] ,[Link] ,[LinkTitle] ,[CreateDate] ,[CreateByUser] ,[IsDeleted] ,[ModafiedDate] ,[ModafiedUser] ,[Memo] FROM [dbo].[HollySys_OrgLink] where [IsDeleted]=0 ' set @strYuJu=@strYuJu+@sWhere exec (@strYuJu)
其实最终就是学会OR的妙用
ALTER PROCEDURE [dbo].[HollySys_NewsArticles_GetArticles] ( @ModuleId int, @CategoryID int, @SpecialID int, @PageSize int, @CurrentPageIndex int, @Passed bit, @Hot bit, @Elite bit, @Pic bit, @Categories varchar(1000), @SortField varchar(100), @SearchCriteria varchar(100), @SearchType tinyint, @CreatedByUser varchar(100), @Status tinyint, @StartDate datetime, @EndDate datetime, @TotalRecords int output, @GroupManage nvarchar(255)---扩展按部门查询 ) AS -- Set the page bounds DECLARE @PageLowerBound INT DECLARE @PageUpperBound INT IF @CurrentPageIndex = -1 SET @PageLowerBound = 0 ELSE SET @PageLowerBound = @PageSize * @CurrentPageIndex SET @PageUpperBound = @PageSize - 1 + @PageLowerBound -- Create a temp table TO store the select results CREATE TABLE #PageIndexFor_HollySys_NewsArticles_Article ( IndexId int IDENTITY (0, 1) NOT NULL, ArticleID int ) IF @CurrentPageIndex = -1 AND @PageSize < 2147483647 SET ROWCOUNT @PageSize INSERT INTO #PageIndexFor_HollySys_NewsArticles_Article (ArticleID) SELECT A.[ArticleID] FROM dbo.HollySys_NewsArticles_Article A INNER JOIN dbo.HollySys_NewsArticles_Category C ON A.CategoryID = C.CategoryID WHERE C.ModuleId = @ModuleId AND (A.Passed = @Passed) AND A.Hot IN(@Hot,0) AND A.Elite IN(@Elite,0) AND ((A.DefaultPicUrl <> '' and @Pic =1)or @Pic=0) AND (CHARINDEX (','+CONVERT(varchar(10),C.CategoryID)+',',','+@Categories+',') > 0) AND ((A.Title LIKE '%' + @SearchCriteria + '%' AND (@SearchType = 1 OR @SearchType = 2)) OR ((A.Content LIKE '%' + @SearchCriteria + '%' OR A.Summary LIKE '%' + @SearchCriteria + '%' OR A.KeyWords LIKE '%' + @SearchCriteria + '%') AND (@SearchType = 1 OR @SearchType = 4)) OR (A.Author LIKE '%' + @SearchCriteria + '%' AND (@SearchType = 1 OR @SearchType = 3)) OR @SearchCriteria = '') AND (A.CreatedByUserID = @CreatedByUser OR @CreatedByUser = '-1') AND ( (@Status = 0) OR ((@Status = 1) AND ((A.StartDate <= GETDATE() OR A.StartDate IS NULL) AND (A.EndDate > GETDATE()-1 OR A.EndDate IS NULL))) OR ((@Status = 2) AND (A.StartDate > GETDATE()) AND (A.StartDate IS NOT NULL)) OR ((@Status = 3) AND (A.EndDate <= GETDATE()-1) AND (A.EndDate IS NOT NULL)) ) AND (@StartDate < A.CreatedDate OR @StartDate IS NULL) AND (A.CreatedDate < @EndDate + 1 OR @EndDate IS NULL) AND (A.ArticleID IN (SELECT ArticleID FROM [/color]dbo.HollySys_NewsArticles_SpecialArticle WHERE SpecialID = @SpecialID) OR @SpecialID=-1) ORDER BY
发表评论
-
SQL索引一步到位(此文章为“数据库性能优化二:数据库表优化”附属文章之一)
2015-02-04 09:54 379SQL索引在数据库优化中 ... -
SQL中索引的原理1
2015-02-04 09:35 593(一)深入浅出理解索 ... -
数据库中的数据到C#代码中的数值要注意转换了
2015-01-26 11:03 455如下,从数据库的存储过程传值过去给C#,如果不再转换一次,C# ... -
SQL Server 删除表中重复的记录的方法记录
2015-01-20 08:38 314--delete from [T_SaleConfirmSta ... -
SQL Server数据库中时间比较,这样比较准确
2015-01-19 17:56 601SQL数据库中对于时间的精确度比较做的不是很好。有时候是把值当 ... -
让ADO.NET Entity Framework支持Oracle数据库 好东西收藏了
2015-01-16 11:35 508项目需要基于.NET平台,个人的习惯是能用微软自带的就不用第三 ... -
数据库中事务使用实例
2015-01-16 11:18 8211.数据库的事务很重要,在保持数据一致性有很大的用处 US ... -
使用SqlBulkCopy导入大数据要注意
2015-01-13 14:17 553第一次用挺好,第二次就出问题了:我的表里边已经有数据,而且加了 ... -
SQL Server中查看那个进程阻塞数据库的存储过程,收藏了
2015-01-13 10:20 1717use master go alter procedu ... -
用微软提供的批量把数据导入到数据库方法SqlBulkCopy真是好用好快
2015-01-13 09:59 2594平时老是碰到把一批数据插入到数据库。通常的办法是循环一条条插进 ... -
SQL Server类型与C#类型对应关系 好东西收藏了
2015-01-13 09:14 1563SQL Server类型 C#类型 bit bool tiny ... -
报表SQL存储过程开发中十条军规
2015-01-12 15:11 791报表SQL存储过程的特 ... -
常用经典SQL语句
2015-01-09 12:41 442下列语句部分是Mssql语 ... -
收集到的SQL语句大全技巧大全
2015-01-09 10:03 608一、基础 1、说明:创建数据库 CREATE DATABAS ... -
存储过程中的分页技巧(最实用的)
2015-01-06 14:42 572大家在开发时都会面临分页的问题, 1.假分页 把数据库的内容全 ...
相关推荐
本文将深入探讨`SQL WHERE 条件解析器`这一工具,它在开发列表控件时被广泛使用。 `WHERE`条件解析器的主要功能是将用户输入的复杂`WHERE`条件转换为一个易于操作的结构——条件树。条件树是一种数据结构,它以图形...
在进行数据查询时,经常会遇到需要根据不同的业务需求动态地构造SQL语句的情况。这种动态构造通常涉及对SQL语句的部分内容进行拼接或修改,以便更灵活地处理查询条件。 ### 动态SQL语句构建示例分析 #### 文件中的...
SQL技巧全集是数据库管理员、数据分析师和开发人员的宝贵资源,涵盖了多种实用的查询、操作和优化技术。以下是一些核心的SQL知识点,根据标题和描述进行详细阐述: 1. **SQL操作大全**:SQL操作包括了数据的增...
在IT行业中,数据库管理和数据结构的清晰性是至关重要的,特别是在构建网站或应用程序时。"php 递归无限分类"是一种常见的技术,用于处理层级结构数据,如网站导航菜单、组织架构或者产品分类等。本项目提供的资源...
SQL开发技巧是数据库管理与应用中的重要组成部分,尤其在企业内部培训中,掌握这些技巧能够显著提高数据库操作的效率和性能。以下是一些常见的SQL开发规范和优化技巧: 1. **利用WHERE子句限制查询结果集**:通过...
### SQL代码注入详解与防范技巧 #### 一、SQL注入的基本概念 SQL注入是一种常见的攻击方式,通过在应用程序中插入恶意SQL代码来控制后端数据库服务器执行非授权操作。随着B/S模式应用的广泛发展,程序员的技术水平...
然而,为了提高代码的可维护性和安全性,开发者可以选择使用ORM(对象关系映射)框架,如Hibernate或MyBatis,它们允许我们在不直接编写SQL语句的情况下操作数据库。在这个"java操作mysql数据库,不写sql语句版"的...
在WinCC中,我们通常会创建一个变量绑定到VBScript脚本中的变量,这样就可以通过WinCC图形界面触发读写操作。例如,你可以创建一个按钮,在点击按钮时运行VBScript脚本。 为了确保数据交互的安全和效率,应考虑以下...
### SQL Server 存储过程技巧详解 #### 一、使用 OUTPUT 类型参数的存储过程技巧 在 SQL Server 中,存储过程通常用于执行一系列 SQL 命令并返回结果集。然而,有时候我们只需要获取存储过程返回的一些特定参数值...
python 通过adodbapi读写sqlserver image字段类型。
wincc中使用VBS脚本读写SQLServer数据库文件
在SQL Server数据库管理中,掌握一些实用的技巧能够显著提升工作效率。以下是一些关于SQL Server的经验总结,涵盖了问题解决、日期处理、数据操作、查询优化等多个方面: 1. **处理挂起的安装操作**:当安装SQL ...
从实践中总结的SQL应用技巧,将近80页的内容,让你收获满满,值得一读......
在Python编程中,当我们需要执行SQL语句时,有时会遇到参数中包含单引号(')的情况,这可能导致SQL语法错误。在描述的问题中,作者在尝试插入数据到`teacher`表时遇到了编程错误,因为`t_info`字段的值`result2`...
在实际应用中,我们常常需要根据多个条件来筛选数据,这就是所谓的多条件查询。在这个主题中,我们将深入探讨如何在SQL中实现多条件查询,特别是在易语言环境下。 首先,让我们了解基本的SQL查询结构。一个简单的...
书写高质量的oracle sql,用表连接替换EXISTS,索引的技巧等等
SQL(Structured Query Language)是一种用于管理和操作关系数据库的强大工具,无论是初学者还是经验丰富的开发者,都能从中找到适用的技巧和策略。"SQL 技巧与大全"这个资源集合了多种SQL语言的学习材料,旨在帮助...
SQL 基础 SQL 首页 SQL 简介 SQL 语法 SQL select SQL distinct SQL where SQL AND & OR SQL Order By SQL insert SQL update SQL delete SQL 高级 SQL Top SQL Like SQL 通配符 SQL In SQL Between ...
SQL循环语句主要包括WHILE循环和FOR循环,它们允许我们在满足特定条件时重复执行一段代码块。在PL/SQL和T-SQL中,还有BEGIN-END结构来定义代码块。 1. WHILE循环:在满足特定条件时反复执行代码块,直到条件不再...
SQL SERVER数据导出工具SQL SERVER数据导出工具SQL SERVER数据导出工具SQL SERVER数据导出工具SQL SERVER数据导出工具SQL SERVER数据导出工具SQL SERVER数据导出工具