当前位置: 代码迷 >> Sql Server >> 一个组合查询的有关问题
  详细解决方案

一个组合查询的有关问题

热度:104   发布时间:2016-04-27 19:22:52.0
一个组合查询的问题
想做这样的一个存储过程:
有一个表people:

name sex age
------------------
jack male 23
hemi male 22
lily female 23

我想通过组合查询得到期望的结果。
[email protected]@sex [email protected],某个或多个字段可能为空。
虽然很简单,不过我想了解一下细节上的处理。(回答最好能在机器上测试通过)
先谢谢了!


------解决方案--------------------
最近经常有人问这类问题。
无论参数传空串''或null值,都可以

SQL code
CREATE PROC myPROC(@name VARCHAR(20),@sex VARCHAR(10),@age INT)AS    SELECT * FROM people        WHERE name = ISNULL( NULLIF(@name,'') ,name)            AND sex = ISNULL( NULLIF(@sex,'') ,sex)            AND age = ISNULL( NULLIF(@age,0) ,age)
  相关解决方案