Давид Тодуа
Дата: 17.03.2011 15:28:43
ребята, согласен,вопрос прост, но ничего в голову не лезет.
Запрос вида
select a,b from c where b=:parameter
parameter может быть или NULL или какоето значение строковое. от значения параметра зависит:
если NULL
то запрос должен работать как select a,b from c
если не NULL
то запрос должен работать как select a,b from c where b=:parameter
заранее премного благодарен!
Perepil
Дата: 17.03.2011 16:21:45
Новичок в оракуле |
---|
а
select a,b from c where b=:parameter or :parameter is null select a,b from c where b=NVL(:parameter,b) идентичны ? |
Если с точки зрения конечного результата, то да, а вот с точки зрения оптимизатора, тут, как говорится, возможны варианты.
Особенно в сложных запросах.
Давид Тодуа
Дата: 17.03.2011 16:49:43
источник сего вопроса: бипаблишер, у которого параметр можно сделать с "возможность выбрать все" и при выборе этой опции можно назначить, какое значение принимает параметр в случае "все": или null или "все значения переданы".