一道查询语句
我现在有一条查询问题是这样的:
假如一张表记录为
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, '%');
------解决方案--------------------
三儿 你好