where 1=1
经常看到写代码会有 where 1=1。
什么时候使用呢?
不能确定where后面是否有语句的时候就要加上1=1了,当没有其他条件语句时候,还有1=1,就不会输错了 。
动态SQL拼接:适合多条件搜索,当要构造动态sql语句时为了防止sql语句结构不当。
String sql="select * from table_name where 1=1";
if( conditon 1) {
sql=sql+" and var2=value2";
}
if(conditon 2) {
sql=sql+" and var3=value3";
}
就是这种不知道哪个条件满足,不确定是否拼接了SQL语句没。
两种写法
select * from table where 1=1; 此种恒为真
select * from table where 1<>1; 此种恒为假