Разница между MySQL не равна NULL и!= "
есть ли разница между MySQL
IF (myText IS NOT NULL) THEN
и
IF (myText != '') THEN
3 ответов
Да есть большая разница между NULL
значение и пустые значения.
здесь один ресурс это описывает различия.
, когда myText IS NULL
:
-
myText IS NOT NULL
значениеFALSE
-
myText != ''
оценивает вNULL
(который по существу работает так же, какFALSE
в данном конкретном случае вы написали)
однако, вы не должны попасть в привычка относиться к ним одинаково, так как большую часть времени они будут вести себя по-разному: например:
Предположим у вас есть таблица tbl
:
id text
1 NULL
2
3 abc
Примечание: 1 содержит NULL
значение, а 2 содержит пустую строку (''
).
если вы запустите следующий запрос:
SELECT * FROM tbl WHERE text != ''
... он вернет запись 3.
если вы запустите следующий запрос:
SELECT * FROM tbl WHERE text IS NOT NULL
... он вернет записи 2 и 3.
Да есть разница.
простыми словами, myText не является NULL указывает, что myText имеет некоторое значение, которое может быть " слишком.
где myText != " указывает, что он возвращает TRUE, если myText не содержит пустая строка.
есть разница. Если значение столбца по умолчанию - "NULL", то если для поля не задано никаких данных, оно действительно равно null. Однако, если значение поля было обновлено как ", оно не является нулевым, а скорее пустым.
см. здесь для получения дополнительной информации ссылке