MySQL 不等于 where 子句中的 >= 为空?哪个表现更好?



给定以下选择语句:

select starttime,id
from childattendance
where endtime is null
and starttime is not null
and date < date('2018-05-24')
and companyid = 1414;

如果我将其更改为以下内容,我会在 100% 的时间内获得相同的结果:

select starttime,id
from childattendance
where endtime is null
and starttime >= ''
and date < date('2018-05-24')
and companyid = 1414;

在我看来,如果一个字段有一个非空值,那么它总是大于或等于一个空字符串,不是这样吗?

如果这是真的,那么哪个表现更好?

这两个语句永远不会相等,因为在mysql NLL中,NULL 与 " 非常不同。当字段为 NULL 时,表示尚未将该字段设置为该值。另一方面,如果字段值为 ",则与表示该字段具有空字符串作为值相同。

相关内容

  • 没有找到相关文章

最新更新