MySQL 不等于 where 子句中 >= '' 为 null 吗?哪个表现更好?

标签 mysql null

给定以下选择语句:

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 中 NULL 与“”有很大不同。当某个字段为 NULL 时,表示该字段尚未设置任何值。另一方面,如果字段值为“”,则相当于该字段的值为空字符串。

关于MySQL 不等于 where 子句中 >= '' 为 null 吗?哪个表现更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50518964/

相关文章:

mysql - fatal error 后的 Node JS Mysql 协议(protocol)入队

php - MySQL/PHP : Using multiple sub-queries in a query selecing multiple results, 这是一个坏主意吗?

MySQL 卡在写入网络中

mysql - 更改表的列以存储多个值的一些解决方案是什么?

php 如果 AND mysql 为空

php - WordPress 帖子仅显示???保存后的字符。 (仅限 unicode 字符)

oop - 反if目的: How to check nulls?

java - 在 PreparedStatement 中绑定(bind)空变量

java - 当我尝试在另一个类中访问静态变量时,为什么它为空?

javascript XMLHttpRequest requestXML 为 null