如何在给出参数时进行搜索,但是当它为null或为空时返回所有行?

时间:2018-01-09 06:18:08

标签: sql postgresql prepared-statement

我想编写一个查询,当where条件中的给定参数为null但当参数不为null时返回所有行,返回符合条件的行,我使用postgres 9.6并且这是我到目前为止,但没有骰子...

修改

让我澄清问题

我有一个像这样的准备好的声明

select * from students where first_name like $1

我想要做的是当$ 1为null时忽略where并返回所有学生

感谢

2 个答案:

答案 0 :(得分:1)

您可以通过以下方式实现此目的:

@FirstName是传递给查询的参数:

select * from students where first_name like @FirstName or @FirstName is null;

答案 1 :(得分:0)

这里是使用明确定义的逻辑的预准备语句的示例:

starCount_timestamp