Postgres - Verilen parametre null ise tümünü seç

Nov 05 2020

aşağıdaki sütunlara sahip bir tablom var

name varchar(250)
type varchar(25)

type parametresi null ise tüm kayıtları döndürmek için bir sorgu yapılandırmamın bir yolu var mı?

Böyle bir şey yapabileceğimin farkındayım

select * from tbl where type = Coalesce(@param, 'a');

boş bir parametre verirsem bana 'a' türündeki tüm kayıtları verecek.

Peki ya param null ise tüm kayıtları almak istersem?

Yanıtlar

nbk Nov 05 2020 at 02:47

Dizeler için yer tutucuyu kullanın:

select * from tbl where type LIKE Coalesce(@param, '%');
PhillW. Nov 05 2020 at 18:33

Şahsen, uygulamada sorguyu yalnızca kullanıcının belirttiği parametreleri ekleyerek oluştururdum.

Başaramazsanız, şuna benzer bir şey deneyin:

select field1, field2, field3, ... 
from table1 
where ( type = @param or @param is null )