Решение было удалить контейнеры.
Кредиты @tkausl.
Обратите внимание, что Oracle выдерживает сравнение CHAR
значения с помощью дополненной пробелом семантики сравнения.
От правил сравнения типа данных,
Oracle использует дополненную пробелом семантику сравнения только, когда оба значения в сравнении являются или выражениями типа данных CHAR, NCHAR, текстовые литералы, или значениями, возвращенными Функцией пользователя.
В Вашем примере, 'ONT'
переданный как связывать параметр, или это встроено в запрос дословно, когда Вы проиллюстрировали? Если связывать параметр, то удостоверьтесь, что он связывается как тип CHAR
. Иначе проверьте клиентскую используемую версию библиотеки, поскольку действительно старые версии Oracle (например, v6) будут иметь другую семантику сравнения для CHAR
.
Если Вы не можете изменить свою таблицу базы данных, можно изменить запрос.
Некоторые альтернативы для RTRIM:
.. ГДЕ PRT_STATUS как '% ONT'...
.. ГДЕ PRT_STATUS = 'ONT'... - 2 пробела позади T
.. ГДЕ PRT_STATUS = rpad ('ONT', 5'')...