Мой запрос с предложением <> to / NOT IN () не возвращает никаких значений? - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть таблица со следующими данными:

Value_ID      VALUE        CODE       HR       DATE      TYPE
   1           0           REG       01:00AM   1/1/18    HI
   2           4           REG       01:00AM   1/1/18    BYE
   3          null         REG       02:00AM   1/1/18    HELLO
   4                       REG       03:00AM   1/1/18    HI
   5           7           REG       04:00AM   1/1/18    BYE

Я пытаюсь исключить любые пустые значения ('' или '');однако, когда я пытаюсь использовать предложение NOT IN или сравнение NOT EQUAL TO (<>), я возвращаю 0 записей.Я использую следующий запрос:

select *
  from value
 WHERE value is not NULL
   AND value <> ' ' AND value

<> '';

Я также пытался:

 select *
   from value
  where value is not null
    and valuenot IN ('', ' ');

Когда я это делаю, следующеевозвращается:

 Value_ID      VALUE        CODE       HR       DATE      TYPE

Неужели Oracle почему-то не нравится этот символ?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Вы можете запросить

SELECT *
FROM your_table
WHERE TRIM(value) IS NOT NULL;

, поскольку пустая TRIM приводит к NULL в Oracle.

С уважением

0 голосов
/ 12 декабря 2018

Это будет делать:

select *
  from tablename
 WHERE LENGTH(TRIM(value)) > 0

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...