我只是看看下面的查询
select * from tablename
where id like '%%';
这样它就可以处理包含所有数据的参数,或者像下面这样的过滤数据
select * from tablename
where id like '%1%';
这对于我使用的大多数参数来说都是好的,但是对于一个id来说这似乎是错误的,因为它将返回所有id中包含1的数据,而我不需要这些数据
为了避免这个问题,我只能在给定id的情况下附加where子句,但这似乎是个麻烦
例如,是否可以使用不同类型的where子句,以便在where equals子句中使用通配符,而不是在where like子句中使用通配符
select * from tablename
where id = '*';
这样就可以使用同一个查询来返回所有或已过滤的数据?为all传递参数'*',或为id 1传递参数'1'
(我不确定这对本例是否重要,但我在本例中使用的是postgresql9.6.12)
1条答案
按热度按时间eaf3rand1#
这通常表现为: