В Oracle пустая строка ''
является значением NULL
.Итак, ваше второе утверждение:
( '' = (LTRIM(RTRIM("Extent1"."SOME_STRING_COLUMN"))) )
совпадает с:
( NULL = (LTRIM(RTRIM("Extent1"."SOME_STRING_COLUMN"))) )
Так как NULL = <anything>
всегда ложно, то:
("Extent1"."SOME_STRING_COLUMN" IS NOT NULL)
AND (
NOT (
( '' = (LTRIM(RTRIM("Extent1"."SOME_STRING_COLUMN"))) )
AND ( LTRIM(RTRIM("Extent1"."SOME_STRING_COLUMN")) IS NOT NULL )
)
)
То же самое, что и:
("Extent1"."SOME_STRING_COLUMN" IS NOT NULL)
AND ( NOT ( FALSE AND <anything> ) )
Что можно упростить до первого условия:
("Extent1"."SOME_STRING_COLUMN" IS NOT NULL)
И не проверяет отсутствие пробелов, только то, что значение не равно нулю.