- 浏览: 41066 次
文章分类
最新评论
写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 383SQL索引在数据库优化中 ... -
SQL中索引的原理1
2015-02-04 09:35 594(一)深入浅出理解索 ... -
数据库中的数据到C#代码中的数值要注意转换了
2015-01-26 11:03 456如下,从数据库的存储过程传值过去给C#,如果不再转换一次,C# ... -
SQL Server 删除表中重复的记录的方法记录
2015-01-20 08:38 317--delete from [T_SaleConfirmSta ... -
SQL Server数据库中时间比较,这样比较准确
2015-01-19 17:56 619SQL数据库中对于时间的精确度比较做的不是很好。有时候是把值当 ... -
让ADO.NET Entity Framework支持Oracle数据库 好东西收藏了
2015-01-16 11:35 509项目需要基于.NET平台,个人的习惯是能用微软自带的就不用第三 ... -
数据库中事务使用实例
2015-01-16 11:18 8251.数据库的事务很重要,在保持数据一致性有很大的用处 US ... -
使用SqlBulkCopy导入大数据要注意
2015-01-13 14:17 571第一次用挺好,第二次就出问题了:我的表里边已经有数据,而且加了 ... -
SQL Server中查看那个进程阻塞数据库的存储过程,收藏了
2015-01-13 10:20 1719use master go alter procedu ... -
用微软提供的批量把数据导入到数据库方法SqlBulkCopy真是好用好快
2015-01-13 09:59 2596平时老是碰到把一批数据插入到数据库。通常的办法是循环一条条插进 ... -
SQL Server类型与C#类型对应关系 好东西收藏了
2015-01-13 09:14 1567SQL Server类型 C#类型 bit bool tiny ... -
报表SQL存储过程开发中十条军规
2015-01-12 15:11 792报表SQL存储过程的特 ... -
常用经典SQL语句
2015-01-09 12:41 443下列语句部分是Mssql语 ... -
收集到的SQL语句大全技巧大全
2015-01-09 10:03 609一、基础 1、说明:创建数据库 CREATE DATABAS ... -
存储过程中的分页技巧(最实用的)
2015-01-06 14:42 576大家在开发时都会面临分页的问题, 1.假分页 把数据库的内容全 ...
相关推荐
如何写出高效率的SQL语句--SQL优化技巧 SQL 优化技巧是提高数据库性能的关键所在。编写高效率的 SQL 语句需要对索引的机制有一定了解,以下是关于索引的知识点: 索引的优点和局限 索引可以提高查询的效率,但会...
本文将深入探讨`SQL WHERE 条件解析器`这一工具,它在开发列表控件时被广泛使用。 `WHERE`条件解析器的主要功能是将用户输入的复杂`WHERE`条件转换为一个易于操作的结构——条件树。条件树是一种数据结构,它以图形...
在进行数据查询时,经常会遇到需要根据不同的业务需求动态地构造SQL语句的情况。这种动态构造通常涉及对SQL语句的部分内容进行拼接或修改,以便更灵活地处理查询条件。 ### 动态SQL语句构建示例分析 #### 文件中的...
SQL技巧全集是数据库管理员、数据分析师和开发人员的宝贵资源,涵盖了多种实用的查询、操作和优化技术。以下是一些核心的SQL知识点,根据标题和描述进行详细阐述: 1. **SQL操作大全**:SQL操作包括了数据的增...
在IT行业中,数据库管理和数据结构的清晰性是至关重要的,特别是在构建网站或应用程序时。"php 递归无限分类"是一种常见的技术,用于处理层级结构数据,如网站导航菜单、组织架构或者产品分类等。本项目提供的资源...
SQL开发技巧是数据库管理与应用中的重要组成部分,尤其在企业内部培训中,掌握这些技巧能够显著提高数据库操作的效率和性能。以下是一些常见的SQL开发规范和优化技巧: 1. **利用WHERE子句限制查询结果集**:通过...
### SQL代码注入详解与防范技巧 #### 一、SQL注入的基本概念 SQL注入是一种常见的攻击方式,通过在应用程序中插入恶意SQL代码来控制后端数据库服务器执行非授权操作。随着B/S模式应用的广泛发展,程序员的技术水平...
标题中的“WEB界面编辑任意SQL条件组合”是指在Web应用程序中,用户可以通过图形化界面自定义和构建SQL查询语句,结合不同的条件进行数据检索。这一功能通常用于数据分析、报表生成或者后台管理等场景,使得非程序员...
总的来说,结合Excel和SQL,我们可以高效地管理和查询大型数据集,尤其在涉及多条件过滤时,SQL的强大功能尤为突出。在实际工作中,了解如何在Excel中使用SQL查询技巧,对于提升数据分析效率至关重要。
然而,为了提高代码的可维护性和安全性,开发者可以选择使用ORM(对象关系映射)框架,如Hibernate或MyBatis,它们允许我们在不直接编写SQL语句的情况下操作数据库。在这个"java操作mysql数据库,不写sql语句版"的...
在SQL Server精华技巧集中,你将发现一系列关于SQL数据库管理和优化的专业知识,这些技巧对于数据库管理员、开发人员以及任何需要处理SQL数据的人来说都是极其宝贵的。SQL Server是Microsoft公司推出的一款强大的...
在WinCC中,我们通常会创建一个变量绑定到VBScript脚本中的变量,这样就可以通过WinCC图形界面触发读写操作。例如,你可以创建一个按钮,在点击按钮时运行VBScript脚本。 为了确保数据交互的安全和效率,应考虑以下...
### SQL Server 存储过程技巧详解 #### 一、使用 OUTPUT 类型参数的存储过程技巧 在 SQL Server 中,存储过程通常用于执行一系列 SQL 命令并返回结果集。然而,有时候我们只需要获取存储过程返回的一些特定参数值...
泛微OA流程操作组中条件sql查询,查询流程中所有设置过的条件:(字段名包括:流程名称 节点名称 类型名称 协办人条件 批次);
python 通过adodbapi读写sqlserver image字段类型。
wincc中使用VBS脚本读写SQLServer数据库文件
在SQL Server数据库管理中,掌握一些实用的技巧能够显著提升工作效率。以下是一些关于SQL Server的经验总结,涵盖了问题解决、日期处理、数据操作、查询优化等多个方面: 1. **处理挂起的安装操作**:当安装SQL ...
从实践中总结的SQL应用技巧,将近80页的内容,让你收获满满,值得一读......
在Python编程中,当我们需要执行SQL语句时,有时会遇到参数中包含单引号(')的情况,这可能导致SQL语法错误。在描述的问题中,作者在尝试插入数据到`teacher`表时遇到了编程错误,因为`t_info`字段的值`result2`...
几个SQL_Server常用技巧,是SQL初学者的绝佳资料,看看有好处的