2016-05-04 3 views
2

У меня есть таблица с 3 колонками:Oracle SQL - как получить столбцы, которые содержат строку или нуль

enter image description here

Я хочу, чтобы получить все записи where type like '%' and is_connect like 'N', в том числе строк, где тип IS NULL или содержит строку.

Мой запрос:

SELECT * 
FROM OFFER 
WHERE TYPE LIKE '%' 
AND IS_CONNECT LIKE 'N'; 

Я получил строки, где тип является NOT NULL, но как я могу получить все строки, даже если тип IS NULL?

+0

Возможный дубликат [Получить NULL == NULL в SQL] (http://stackoverflow.com/questions/191640/get-null-null-in-sql) – Alexander

ответ

1

Если вы хотите, чтобы получить все или строки, где есть либо значение или нет значения, просто исключить поле из вашей статьи where:

SELECT * FROM OFFER WHERE IS_CONNECT = 'N'; 
0

Вы были почти there..Just использовать условие OR включить нулевой чек ... Кроме того, вы не имели в «N»% после is_connect как

SELECT * FROM OFFER WHERE (TYPE LIKE '%' or TYPE is NULL) AND IS_CONNECT LIKE 'N%' 
1

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

SELECT * FROM OFFER WHERE (TYPE LIKE '%' or TYPE is NULL) AND IS_CONNECT = 'N'; 
+1

Это вероятно, лучшее решение, чем у меня. Я бы, вероятно, поехал с этим ... Так как вы действительно ничего не делаете с особой проверкой, например 'TYPE LIKE '%'' – cableload

+0

Спасибо @cableload –

+0

Я не могу удалить как предложение, Мне нужно отфильтровать таблицу с помощью столбцов типа и is_connect – oria

1

Попробуйте это.

Where N is you first alphabet. 
SELECT * FROM OFFER 
WHERE TYPE is null 
AND IS_CONNECT LIKE 'N%'; 

Where N is the last alphabet in your type. 
SELECT * FROM OFFER 
WHERE TYPE is null 
AND IS_CONNECT LIKE '%N'; 

__ BCG14

Смежные вопросы