どのように私はゼロの値を表示するには、BIRTを強制できますか?

StackOverflow https://stackoverflow.com/questions/2369678

  •  24-09-2019
  •  | 
  •  

質問

私は、BIRTのレポートの状況を持っています。私が作成したレポートは、空白ではなくゼロとしていくつかのフィールドを表示するに主張しています。フィールドが実際にその戻りサブ選択何行ではない場合の状況が生じる。

ですから、例えば、選択が含まれている場合:

0 as p3,
その後、0が大丈夫表示されます。しかし、もし、選択があります:

(select sum(other_field) from other_table where ...) as p3,

フィールドは空白が表示されます。

その行が値であることにサブ選択結果のために存在するようにデータを変更すると、その結果の値がゼロであっても、表示

私は何とかBIRTは、サブ選択ではなく、ゼロよりもNULL(空のセルとして、それはまた、ディスプレイ)としてゼロ行を返すの治療されていることを考えていますので。誰もが空のセルではなく、実際の0を表示するに強制するBIRTにどのように任意のアイデアを持っていますか?

誰もがDBMS固有の答えを投稿する必要がある場合、他のベンダーに基づいても、提案をいただければ幸いですけれどもます。

私は、DB2 / zのV8エンジンを使用しています

役に立ちましたか?

解決

列または式がNULLを返す可能性がある場合値を強制的にCOALESCE関数を使用してみてください。

COALESCE((select sum(other_field) from other_table where ...), 0) as p3,

他のヒント

(あなたがあなたのことはできません変更することを保存procedueを実行している場合など)のようにエレガント時には必要はありませんが、

別の方法として、実行時に「0」の表示を強制するためにJavaScriptを使用することです時間ます。

を使用してデータについては、以下の式結合ます:

if (dataSetRow["your_data_set"] == null)
{
    0
}
else
{
    dataSetRow["your_data_set"]
}

データの種類に応じて、あなたがゼロ

に引用符を追加する必要があります
"0"
それは整数として扱われ、引用符なしで、文字列を表すために、

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top