夜火博客

一句话完成SQL多条件数据库查询

2009-09-14
技术文章
数据库
SQL
技术类
1分钟
179字

例如有这么一张表:

default

有时我们需要根据名字进行查询; 有时我们需要根据年龄进行查询; 有时又需要根据名字和年龄进行查询;

以前都是通过拼接sql语句完成:

declare @sql nvarchar(500)

set @sql = ‘select * from table1 where 1=1’

if(not @name is null)     set @sql = @sql + ’ and name=''' + @name + '''' if(not @age is null)     set @sql = @sql + ’ and age>’ + convert(varchar,@age)

今天发现不用拼接sql语句,一句话就能完成sql多条件查询

MSSQL版:

select * from table1 where ([name]=@name or @name is null) and ([age]>@age or @age is null)

ACCESS版:

select * from table1 where (name=[@name] or isnull([@name])) and (age>[@age] or isnull([@age]))

via 木子屋

本文标题:一句话完成SQL多条件数据库查询
文章作者:夜火
发布时间:2009-09-14