1

我想选择表中id列不是特定值的所有内容。但是,是否可以使该特定值是可选的,并在这种情况下返回所有结果。

这似乎case是我想要的,但它对我不起作用。我试过的

WHERE id != '' 

或者

WHERE id (SELECT CASE WHEN $id IS NULL THEN '')
                            ^^ $id could be, say, 10 or NULL

只是语法不正确。如何进行此查询?非常感谢。

4

2 回答 2

1

尝试类似:

WHERE (id != v_id OR v_id IS NULL)

它将返回id != v_idifv_id不为空的所有行

或者如果v_id为空则返回所有行

于 2013-07-12T16:55:58.643 回答
1

当你想要任何 id 时,然后传递$id为空或 null。否则传递真实身份。做空的方式:

where (id = $id or $id = '')

使用空:

where (id = $id or $id is null)
于 2013-07-12T17:16:38.627 回答