为什么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
有没有大佬知道为什么结果不一样呢?
=
做的是数值比较,TRUE 是 1 ,并不等于 127 。IS TRUE
做的是真假判断,非零都为真。