

Пустая строка в Oracle эквивалентна NULL, что приводит к сбою сравнения. Измените эту часть запроса на NAME IS NOT NULL
Вы можете переписать этот запрос без предложения «NOT NAME = ''».
SELECT DISTINCT name
FROM log
WHERE name LIKE '%.EDIT%';
Это работает для вас?
Если нет, то чем не работает? Это вызывает ошибку? Возвращаются неправильные результаты?
Пожалуйста, дополните свой вопрос этой информацией :-)
SELECT DISTINCT name FROM log WHERE NOT name = '' AND name LIKE '%.EDIT%';
1) Oracle рассматривает '' как NULL, что означает, что сравнение "NOT name = ''" никогда не бывает истинным или ложным; вместо этого используйте "IS NOT NULL". Но...
2) Второе условие «name LIKE '% .EDIT%' в любом случае не будет соответствовать пустой строке, что делает первое условие избыточным.
Так что перепишите как:
SELECT DISTINCT name FROM log WHERE name LIKE '%.EDIT%';
Спасибо за эту помощь. Работает нормально! Я такой идиот насчет лишнего. Но я также не знал, что Oracle считает '' NULL. Спасибо, теперь работает.