我正在函数内构建 SQL 查询。函数参数是我对 WHERE 子句的标准。参数也可以为空。
foo (1,2,3) => SELECT x FROM y WHERE a=1 AND b=2 AND c=3;
foo (null, 2, null) => SELECT x FROM y WHERE b=2;
我在代码中执行此操作的方法是在 WHERE 子句中添加第一个 alltime true(例如 1=1 或 NULL 为 NULL 或 2 > 1)
所以我不需要处理第一个 WHERE 条件在“WHERE”之后而所有其他条件都在“AND”之后的问题。
String sql="SELECT x FROM y WHERE 1=1";
if (a!=null)
{
sql += " AND a="+a;
}
是否有比 1=1 更好的术语,或者我的其他样本明确具有始终真实的价值?TRUE 和 FALSE 不起作用。