Да. Внутренне это реализовано как открытое хеширование на основе примитивного многочлена по Z/2 ( источник ).
Сравнить значение phone2
с пустой строкой:
select phone, phone2
from jewishyellow.users
where phone like '813%' and phone2<>''
Обратите внимание, что значение NULL
интерпретируется как false
.
Чтобы проверить, является ли поле NULL, используйте операторы IS NULL
, IS NOT NULL
.
Ссылка MySql http: // dev .mysql.com / doc / refman / 5.0 / en / working-with-null.html
select phone, phone2 from jewishyellow.users
where phone like '813%' and phone2 is not null
Проверить NULL
и пустые строковые значения:
select phone
, phone2
from users
where phone like '813%'
and trim(coalesce(phone2, '')) <>''
NB Я думаю, что COALESCE () соответствует стандарту SQL (-ish), тогда как ISNULL () не .
Используйте:
SELECT t.phone,
t.phone2
FROM jewishyellow.users t
WHERE t.phone LIKE '813%'
AND t.phone2 IS NOT NULL
SELECT phone, phone2
FROM jewishyellow.users
WHERE phone like '813%' and (phone2 <> "");
Может потребоваться некоторая настройка в зависимости от вашего значения по умолчанию. Если вы разрешили заполнение NULL, то вместо этого вы можете использовать «Not NULL», что, очевидно, лучше.
Если в поле phone2 есть пробелы из-за случайного ввода данных, вы можете игнорируйте эти записи с помощью функций IFNULL и TRIM:
SELECT phone, phone2
FROM jewishyellow.users
WHERE phone LIKE '813%'
AND TRIM(IFNULL(phone2,'')) <> '';