MySQL не является нулевым эквивалентом> = '' в предложении where? И что лучше?

0

Учитывая следующий оператор select:

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;

Мне кажется, что если поле имеет ненулевое значение, оно всегда больше или равно пустой строке, а не так?

И если это так, то что работает лучше?

Теги:
null

1 ответ

0

Оба оператора никогда не могут быть равными, поскольку в mysql NULL сильно отличается от "". Когда поле равно NULL, это означает, что значение не было установлено для этого fied. С другой стороны, если значение поля равно "", то оно также говорит о том, что поле имеет пустую строку в качестве значения.

  • 0
    Я понимаю, что нуль отличается от пустого, но в отношении запроса результаты всегда не будут одинаковыми в любом случае?
  • 0
    Это не будет то же самое, потому что NOT NULL! = ''

Ещё вопросы

Сообщество Overcoder
Наверх
Меню