SQL SERVER中查询参数为空(null)时默认查询所有的实现
2018-07-17 11:14
183 查看
方法1:
当出版社筛选条件为null,该如何写SQL呢?
1 DECLARE @publishers VARCHAR(50);
2 SELECT * FROM dbo.Book WHERE Publishers=ISNULL(@publishers,Publishers)
方法2:
declare @cinv varchar(50)
select * from inventory where 1=1 and (cInvName=@cinv or @cinv is null)
方法3:
DECLARE @name VARCHAR(100),@page INT =1
SET @name='张三'
DECLARE @sql VARCHAR(1000)
SET @sql='select * from myTable where 1=1'
IF @name IS NOT NULL
SET @sql=@sql+' and name='''+@name+''''--字符型注意引号个数
IF @page IS NOT NULL
SET @sql=@sql+' and page='+LTRIM(@page)--int类型注意转换为字符型
--PRINT @sql
EXEC(@sql)
当出版社筛选条件为null,该如何写SQL呢?
1 DECLARE @publishers VARCHAR(50);
2 SELECT * FROM dbo.Book WHERE Publishers=ISNULL(@publishers,Publishers)
方法2:
declare @cinv varchar(50)
select * from inventory where 1=1 and (cInvName=@cinv or @cinv is null)
方法3:
DECLARE @name VARCHAR(100),@page INT =1
SET @name='张三'
DECLARE @sql VARCHAR(1000)
SET @sql='select * from myTable where 1=1'
IF @name IS NOT NULL
SET @sql=@sql+' and name='''+@name+''''--字符型注意引号个数
IF @page IS NOT NULL
SET @sql=@sql+' and page='+LTRIM(@page)--int类型注意转换为字符型
--PRINT @sql
EXEC(@sql)
相关文章推荐
- 参数报表实现默认查询的两种方法
- 如何用存储过程实现下面功能:以表名为参数,查询出这个表中的所有数据
- SQL Server 2012使用Offset/Fetch Next实现分页数据查询
- SQL Server查询表结构的实现(转自:http://database.51cto.com/art/201010/230895.htm)
- Sql Server 查询所有表的大小命令
- SQL Server中查询所有的表、视图、列和存储过程
- SQL Server 2005技术内幕:查询、调整和优化5——用C#实现SQL查询
- Scripts:查询所有参数修改信息的脚本parm_mods.sql
- SQL Server 查询所有外键子父表关系
- spring+ehcache实现的缓存查询参数。
- SQL Server 中获取数据库内所有表名的实现方法
- elasticsearch查询所有数据restful api以及java代码实现
- 从URL中提取参数与将对象转换为URL查询参数的实现代码
- sql server查询所有表名、字段名、类型、长度 和 存储过程、视图 的创建语句
- SQL Server,Access数据库查询易混点和C#中parameter指定参数长度的优缺点
- FineReport实现java报表参数查询的效果图
- SQL Server,Access数据库查询易混点和C#中parameter指定参数长度的优缺点
- SQL Server 查询数据库中所有的表名及行数
- SQL Server,Access数据库查询易混点和C#中parameter指定参数长度的优缺点
- C#下实现SQL Server 2008表类型参数传递