sql下多条件查询

比如有一个多查询页面:有姓名,有学历,有年龄.如果什么也不输,则表示查询所有.

以前我一直用拼sql的方式来进行查询,但这很容易被Sql注入,最近查到一个好方法.

比如原来:

if @name != ''
  
set @sql = @sql + 'name = ''' + @name + ''' '

现在则写成

and (@name = '' or name = @name)

 既防止了sql注入,也让语句写的更优雅.在效率上并不比拼的方式差多少,有研究为证:

http://www.dotblogs.com.tw/dotjum/archive/2008/03/11/1320.aspx 

原文地址:https://www.cnblogs.com/ljzforever/p/1682318.html