我正在使用 sql 参数,并且我有一个查询想用于两个类似的查询。第一个使用两个 where 子句,另一个只使用一个子句是否有一个符号我可以用于第二个查询始终等于 true?
例如:
SELECT path, markdown
FROM public."Comment"
where path = 'relative/path/' AND markdown = 'here I am';
第二个例子:
SELECT path, markdown
FROM public."Comment"
where path = '/other/relative/path/' AND markdown = ALL;
All
作为查询中某些符号的代表,这将使其有效地仅基于路径进行搜索(因为降价 where 子句将在所有列上返回 true)。
我不同意你正在考虑使用的方法,但如果你死定了使用它,那么我可能会像这样构造查询:
本质上是向您的查询添加第三个参数。一个用例将使用第三个参数并将第二个参数设置为 FALSE,而另一个用例将第二个参数设置为 TRUE。
请改用此查询:
要忽略第二个参数,请为其传递 NULL。
最近有更多信息的相关问题:
你用什么语言调用查询?我使用查询构建器向基本查询添加附加条件。在这种情况下,只有当也有一个值可以比较时,查询构建器才会添加对 markdown 的检查。
你描述的条件与你在子句
AND markdown = ALL
中没有markdown
比较没有什么不同。WHERE