Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Вывести таблицу чтобы в определенном столбце не было значения NULL через SQL запрос

Arty Jackass Мастер (1824), закрыт 4 года назад
Как мне вывести табличку без значения NULL в определенном столбце (т. е. все кроме NULL)?
пишу вот так: SELECT * FROM monit.statconsumer WHERE action IS NOT NULL, но всё равно в столбце action остается значение NULL
Лучший ответ
Дед Мазай Гений (58129) 4 года назад
Возможно, в этом столбце не NULL, а пустая строка. Или наоборот: вписано слово "NULL".
Запрос правильный.
Остальные ответы
Jurijus Zaksas Искусственный Интеллект (470942) 4 года назад
Если твой action - это CHAR, то он никогда не NULL.
Если VARCHAR - там УНУТРЕ может быть любая невидимая неонка. Я недавно &nbsp отлавливал - аж вспотел.
Дед МазайГений (58129) 4 года назад
> Если твой action - это CHAR, то он никогда не NULL

Это может в каких-то СУБД так, но не по стандарту. Что Оракул путает varchar нулевой длины и null - это вроде тоже не по стандарту.

Например, проверяю на MS SQL:

create table null_Test ( a char(10) );

insert into null_Test (a) values (null);
insert into null_Test (a) values ('x');

select * from null_Test where a is null;
select * from null_Test where a is not null;

Работает как положено.
Евгений Высочин Просветленный (38033) 4 года назад
Посмотри какого типа это поле action, и пиши условие для поля в соответствии с его типом. Нельзя везде подряд указывать в условии NULL.
Похожие вопросы