为什么mysql中IS TRUE和=True的结果不一样?
为什么mysql中IS TRUE和=True的结果不一样?
我有一张user表,结构如下:表中数据如下:
我尝试查询sql:
SELECT * FROM `user` WHERE is_deleted IS TRUE
结果为:查询sql:
SELECT * FROM `user` WHERE is_deleted = TRUE
结果为:
我用true或者false作为查询条件是因为:在java中tinyint能被转成Boolean,所以在查询的时候能直接传true或者false
有没有大佬知道为什么结果不一样呢?
回复
1个回答

test
2024-06-23
=
做的是数值比较,TRUE 是 1 ,并不等于 127 。IS TRUE
做的是真假判断,非零都为真。
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容