【发布时间】:2026-01-25 12:05:01
【问题描述】:
我有一个 java 布尔参数,它应该告诉我是检查值 IN (x,y,z) 还是 NOT IN (x,y,z)(基于真/假)。我如何将“NOT”插入到 SQL 查询中?我应该使用简单的 String.replaceAll() 还是编写不同的查询?哪个是最优的?
【问题讨论】:
-
IN 列表中有空值吗?
-
写一个不同的查询。否则你最终会写一个"catch all query"
-
是的,如何检查空 IN()?如果 IN() 是唯一的条件,可能会忽略 WHERE?
-
WHERE col IN()将是无效的 SQL 和不同的问题。对于“catch all”路线,您可以简单地将-1添加到该列表中,这样它就永远不会为空并且-1 不会匹配任何记录......但我不鼓励这样做。如果您想要最佳,请使用不同的查询。
标签: java sql sql-server