日期:2014-05-17  浏览次数:20839 次

一道查询语句
我现在有一条查询问题是这样的:
假如一张表记录为
table
a  
1  
12 
现在查询条件为:a等于一个常量(如果a为空则查询出全部结果集,a不为空则查询满足等于这个常量的结果集)

我这样写
select * from table where a like '%@a%' @a为一常量
如果@a=空结果为
a
1
12
查出了所有结果,满足
而如果@a=1查询结果就为
a
1
12
显然不对。该怎么写好?

------解决方案--------------------
SQL code
select * from table where a like nvl(@a, '%');

------解决方案--------------------
三儿 你好