整体语句如下:
SELECT * FROM 订单 where 1=1
${if(len(starttime)=0,""," and 订购日期>='"+starttime+"'")}
${if(len(endtime)=0,""," and 订购日期<='"+endtime+"'")}
SQL语句中where后面1=1不清楚什么意思?
你想一想如果后面两个time 都为空sql会是什么样。SELECT * FROM 订单 where
这个就孤零零一个where 肯定会报错。所以加个1=1
使语句完整
https://blog.csdn.net/qq_23994787/article/details/79045768
如果你参数前面已经有一个where的条件语句 那就不需要加1=1
假设你没有给starttime,和endtime赋值没有1=1,SQL语句就会变成:SELECT * FROM 订单 where出现报错,有1=1的话SQL就会是SELECT * FROM 订单 where 1=1 ,where条件恒成立不会报错,查询表所有数据
1=1,使得where后面条件为永真,当参数为空时,也会展示所有数据