2017-02-09 6 views
0

何もデフォルトに設定されていないレポートパラメータがあります。レポートの開始時に、私はすべての結果を表示し、ユーザにパラメータを入力してレコードをフィルタリングするオプションを与えたいと思います。ここでSSRS DB2パラメータがnullまたは空の場合すべての値を返します

はIハードコード場合のパラメータのためのいくつかの文字列を動作しますが、私は疑問符をレポートにクエリーを入れたときに失敗した私がしようとしているクエリです:パラメータの

with data as(
select product, productnumber, employee, dateran, timeran, 
     filename, standarddeviation, highdata, lowdata 
from schema.table x 
) 
select * 
from data 
where product like '%' || ? || '%' 
and employee like '%' || ? || '%' 
and productnumber like '%' || ? || '%' 

それぞれですテキスト形式とクエリは、このようなwhere句報告書の「仕事」を行います場合:

where product like ? 
and employee like ? 
and productnumber like ? 

をしかし、結果のすべては、空の文字列ので、起動時に表示されません。

アドバイスはありがとうございます。ありがとうございました!

答えて

1

機能合体でワイルドカードになってきてnullを使用するための標準的なトリックがある - このように:

product like coalesce(?, product) 

値がある場合がある場合、これは

product like value 

と評価nullの場合は、

product like product 

と常に一致します。

+0

ありがとうございました!よく働く! – tvirch

+0

@tvirch - あなたは大歓迎です。 – Hogan

関連する問題