Помогите с простым запросом с одним параметром

Давид Тодуа
Дата: 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

заранее премного благодарен!
Добрый Э - Эх
Дата: 17.03.2011 15:30:40
select a,b from c where b=:parameter or :parameter is null
env
Дата: 17.03.2011 15:31:01
Давид Тодуа,

b=:parameter or :parameter is null
Давид Тодуа
Дата: 17.03.2011 15:34:26
Отлично,спасибо огромное!помогло!
Новичок в оракуле
Дата: 17.03.2011 16:16:25
а
select a,b from c where b=:parameter or :parameter is null
select a,b from c where b=NVL(:parameter,b)
идентичны ?
Elic
Дата: 17.03.2011 16:21:24
Новичок в оракуле
select a,b from c where b=:parameter or :parameter is null
select a,b from c where b=NVL(:parameter,b)
идентичны ?
b nullable?
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:24:11
Elic,

в обоих случаях.
Elic
Дата: 17.03.2011 16:44:35
Новичок в оракуле
Elic,

в обоих случаях.
Поразмысли над b is null и :parameter is null
Давид Тодуа
Дата: 17.03.2011 16:49:43
источник сего вопроса: бипаблишер, у которого параметр можно сделать с "возможность выбрать все" и при выборе этой опции можно назначить, какое значение принимает параметр в случае "все": или null или "все значения переданы".