SQL Server多条件查询的实现
SQL Server多条件查询的实现
SQL Server多条件查询我们经常会用到,下面就教您如何使用存储过程实现SQL Server多条件查询,希望对您学习SQL Server多条件查询方面有所帮助。
以前使用的方法是将所有参数进行判断,然后对不同情况组合对应的sql查询语句,以实现分页和查询,但这种方法只适合查询条件较少的情况,如果查询条件过多那就恐怖了,比如四个条件查询,那就有4*4=16中可能要判断,可想而知,要用多少代码,辛苦多少脑细胞来写完这个判断语句,呵呵。
直到遇到了多达10个查询条件的查询事件,这种方法就彻底被我否决了。带着这种需求,找到了一种简便又很清晰的方法,
/*查询资讯类别列表*/
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'get_list_newscate' AND type = 'P')
DROP PROCEDURE get_list_newscate
GO
create proc get_list_newscate
@newscate_pid int,
@newscate_depth int,
@newscate_language int
as
select * from [news category] where 1=1
and (@newscate_pid is null or newscate_pid=@newscate_pid)
and (@newscate_depth is null or newscate_depth=@newscate_depth)
and (@newscate_language is null or newscate_language=@newscate_language)
order by newscate_orderid
此存储过程可以实现SQL Server多条件查询,可以用于网站高级检索的功能
查询条件默认为null
程序中值类型不能为null可以在类型后加一个?这样就可以null
比如:int i=null 错误 int? i=null正确
where 1=1是为了当查询条件都不需要用到时就查询全部数据
SQL Server多条件查询的实现的更多相关文章
- 【转】SQL Server T-SQL高级查询
SQL Server T-SQL高级查询 高级查询在数据库中用得是最频繁的,也是应用最广泛的. Ø 基本常用查询 --select select * from student; //查询student ...
- Sql Server 存储过程中查询数据无法使用 Union(All)
原文:Sql Server 存储过程中查询数据无法使用 Union(All) 微软Sql Server数据库中,书写存储过程时,关于查询数据,无法使用Union(All)关联多个查询. 1.先看一段正 ...
- SQL Server数据库————连接查询和分组查询
SQL Server数据库————连接查询和分组查询 分组查询 select 列from <表名> where …… group by 列 注意:跟order by一样group ...
- SQL SERVER中XML查询:FOR XML指定PATH
SQL SERVER中XML查询:FOR XML指定PATH 前言 在SQL SERVER中,XML查询能够指定RAW,AUTO,EXPLICIT,PATH.本文用一些实例介绍SQL SERVER中指 ...
- (4.21)sql server中复制查询结果集
在查询结果窗口中复制列标题似乎是一项简单的任务,但对于业余爱好者来说,这可能是一场噩梦. 没有可见的指令/链接/按钮,其中一个可以使用列标题单击和复制所选数据.让我们看看如何在SQL Server M ...
- SQL Server跨服务器查询的实现方法,OpenDataSource
SQL Server跨服务器查询的方法我们经常需要用到,下面就为您介绍两种SQL Server跨服务器查询的方法,如果您感兴趣的话,不妨一看. SQL Server跨服务器查询方法一:用OPENDAT ...
- SQL Server 数据库子查询基本语法
一.SQL子查询语句 1.单行子查询 select ename,deptno,sal from emp where deptno=(select deptno ...
- SQL Server T-SQL高级查询
name like 'ja%'; select * from student where name not like '%[j,n]%'; select * from student where na ...
- SQL Server T-SQL高级查询(转)
高级查询在数据库中用得是最频繁的,也是应用最广泛的. Ø 基本常用查询 --select select * from student; --all 查询所有 select all sex fr ...
随机推荐
- [转][SVN]常用操作
1. Commit 提交当前代码到 SVN 服务器. 2. 引用第三方类库时,不要从安装位置引用,而是在解决方案下,添加一个 lib 的目录,把需要的程序集复制到这里,然后从 lib 目录引用. 3 ...
- [UE4]角色增加挂点、增加枪
人物骨骼增加Socket(骨骼) 增加手持武器预览: 角色蓝图增加组件“Skeletal Mesh”(好像这叫骨骼模型吧),并拖放至人物“Mesh”下面作为子组件. 选中刚建好的“SkeletalMe ...
- php 数组函数实例
数组的概念 数组(array)是 PHP 中一个非常重要的概念,我们可以把数组看做一系列类似的数据的集合,实际上数组是一个有序图. PHP 还提供了超过 70 个内建函数来操作数组. 由于数组在php ...
- 搭建 yum 仓库
翻译来自:https://wiki.centos.org/HowTos/CreateLocalRepos 本地仓库 http 仓库 测试 Steps: 1.把rpm包放在一个目录中.可以根据需要在该目 ...
- sklearn的estimator
estimator的工作流程 在sklearn中,估计器(estimator)是一个重要的角色,分类器和回归器都属于estimator.在估计器中有有两个重要的方法是fit和transform. fi ...
- python入门-列表
列表使用[]来标识 列表和PHP中的数组类似 包括使用和访问方式都是类似 可以用下标索引的方式直接访问 来几个例子,这样看起来才舒服 names = ['baker','pitty','david', ...
- spring security 参考 和 例子
参考1: https://docs.spring.io/spring-security/site/docs/5.0.1.BUILD-SNAPSHOT/reference/htmlsingle/ 列子: ...
- tomcat启动项目 端口占用
转自:https://blog.csdn.net/u010427935/article/details/77297529 有时候电脑比较卡,项目比较大的情况下,eclipse没有完全停止tomcat的 ...
- Python之从头开始建立项目流程
一,需求是在桌面建立一个名字为美妆的项目 1)cd desktop 2)mkdir meizhuang_server 3)安装虚拟环境 要在meizhuang_server文件夹下 pipenv - ...
- How to Pronounce the Word SOMETHING
How to Pronounce the Word SOMETHING Share Tweet Share Something tells me you’re going to like this v ...