sql语句拼接where条件时,可以使用where true代替where 1=1吗?

1=1结果为true,使用where true后测试

  1. 所有条件为null
  2. 第一个条件为null
  3. 全部不为null

都能得出正确结果,where 1也能得到正确结果,google后发现没有人这么做,这是为什么呢

SELECT * FROM `table` WHERE 1=1
SELECT * FROM `table` WHERE TRUE
SELECT * FROM `table` WHERE 1
阅读 5.1k
1 个回答

一般认为where 1=1的兼容性比 where true的兼容性更好,因为不同的数据库对boolean的处理有差异,容易导致一些问题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进