Подтвердить что ты не робот

Выберите строки, где столбец равен NULL

Как вы пишете оператор SELECT, который возвращает только строки, где значение для определенного столбца равно null?

4b9b3361

Ответ 1

Вы имеете в виду что-то вроде:

SELECT COLUMN1, COLUMN2 FROM MY_TABLE WHERE COLUMN1 = 'Value' OR COLUMN1 IS NULL

?

Ответ 2

Я не уверен, отвечает ли это на ваш вопрос, но используя конструкцию IS NULL, вы можете проверить, является ли любое заданное скалярное выражение NULL:

SELECT * FROM customers WHERE first_name IS NULL

В MS SQL Server функция ISNULL() возвращает первый аргумент, если он не равен NULL, иначе он возвращает второй. Вы можете эффективно использовать это, чтобы убедиться, что запрос всегда дает значение вместо NULL, например:

SELECT ISNULL(column1, 'No value found') FROM mytable WHERE column2 = 23

Другие СУБД имеют аналогичную функциональность.

Если вы хотите знать, может ли столбец быть нулевым (т.е. определено как nullable), без запроса фактических данных, вы должны посмотреть в information_schema.

Ответ 3

Используйте Is Null

select * from tblName where clmnName is null    

Ответ 4

Вы хотите знать, является ли столбец нулевым.

select * from foo where bar is null

Если вы хотите проверить какое-то значение, не равное чему-либо, и столбец также содержит нулевые значения, вы не получите столбцы с нулевым значением в нем

не работает:

select * from foo where bar <> 'value'

работает:

select * from foo where bar <> 'value' or bar is null

в Oracle (не знаю, на другой СУБД) некоторые люди используют этот

select * from foo where NVL(bar,'n/a') <> 'value'

если я правильно прочитал ответ от tdammers, тогда в MS SQL Server это похоже на

select * from foo where ISNULL(bar,'n/a') <> 'value'

по-моему, это немного взломать, а момент "значение" становится переменной, оператор имеет тенденцию становиться ошибкой, если переменная содержит "n/a".

Ответ 5

по некоторым причинам IS NULL может не работать с некоторым типом данных столбца я нуждался в том, чтобы заставить всех сотрудников, что их полное имя на английском отсутствует, я использовал:

** SELECT emp_id, Full_Name_Ar, Full_Name_En от сотрудников, где Full_Name_En = 'или Full_Name_En имеет значение null **

Ответ 6

select Column from Table where Column is null;

Ответ 7

выберите * from tableName, где columnName имеет значение null