SELECT*FROM订单where1=1,这个后面的1=1是什么意思

整体语句如下:

SELECT * FROM 订单 where 1=1 

 ${if(len(starttime)=0,""," and 订购日期>='"+starttime+"'")}

 ${if(len(endtime)=0,""," and 订购日期<='"+endtime+"'")}


SQL语句中where后面1=1不清楚什么意思?

liuyunxia827729 发布于 2020-10-10 10:52
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
3
张洪威Lv6高级互助
发布于2020-10-10 10:53

你想一想如果后面两个time 都为空sql会是什么样。SELECT * FROM 订单 where 

这个就孤零零一个where 肯定会报错。所以加个1=1

最佳回答
1
krystal033Lv7高级互助
发布于2020-10-10 10:53(编辑于 2020-10-10 10:54)

使语句完整

https://blog.csdn.net/qq_23994787/article/details/79045768 

如果你参数前面已经有一个where的条件语句 那就不需要加1=1 

最佳回答
0
Kevin-sLv7中级互助
发布于2020-10-10 10:56

假设你没有给starttime,和endtime赋值没有1=1,SQL语句就会变成:SELECT * FROM 订单 where出现报错,有1=1的话SQL就会是SELECT * FROM 订单 where 1=1 ,where条件恒成立不会报错,查询表所有数据

最佳回答
0
用户R1001426Lv6见习互助
发布于2020-10-10 10:56

1=1,使得where后面条件为永真,当参数为空时,也会展示所有数据

  • 5关注人数
  • 1269浏览人数
  • 最后回答于:2020-10-10 10:56
    请选择关闭问题的原因
    确定 取消
    返回顶部