У меня есть этот sql:
select * from employees
where
lastname like '%smith%' and firstname like '%bob%' and middle like '%%'
Проблема в том, что значения имени, особенно отчества, могут быть нулевыми.Таким образом, приведенное выше утверждение найдет:
smith, bob mike
, но не найдет
smith, bob
, потому что отчество Боба равно нулю (у него нет отчества.)
Iесть это, которое работает, но я думал, что есть лучший способ и хотел ввода:
select * from employees
where
lastname like '%smith%'
and firstname like '%bob%'
and (middle like '%%' or middle is null)
edit:
middle не всегда пусто.Иногда оно будет иметь значение, поэтому я должен сохранить тест для второго имени. Он может быть заполнен или иметь нулевое значение.
Спасибо.Я использую Oracle 11g, если это имеет значение.