Разглеждане на документацията на Oracle за литерали :
и документацията на семантика за сравнение с празни подплати заявява:
Тъй като лявата страна на сравнението е CHAR(10)
и дясната страна е текстов литерал, тогава се използва семантика за сравнение с празни подплати и 'hello ' = 'hello'
е вярно.
Можете да видите това в простия пример:
SELECT * FROM DUAL WHERE 'hello ' = 'hello';
Актуализация :
[TL;DR] Това поведение се появява във всички версии на Oracle поне от Oracle 7 (издаден през 1992 г.). Спрях да търся документация за издания на повече от две десетилетия, но очаквам, че ще откриете, че това е поведението в повечето (всички?) версии.
Ето документацията за различните версии:
- Oracle 12c Текстови литерали &семантика с празни подплати
- Oracle 11g Текстови литерали &семантика с празни подплати
- Oracle 10gR2 Текстови литерали &семантика с празни подплати
- Oracle 9 Текстови литерали &семантика с празни подплати
- Oracle 8 Текстови литерали &семантика с празни подплати
- Oracle 7 Текстови литерали