12

値とNULLの混合を取り戻す5つのフィールドがあります。レポートの目的で、潜在的なNULLを値に置き換える必要があります。私が調査しているデータベースは、SSISパッケージを介して毎晩更新されます。

明らかに、SQLを追加して、毎日NULLが発生しないように.dtsxファイルを変更する必要があります。

私の質問は:

パフォーマンスの観点からこれらのNULLを処理する最も効率的な方法は何ですか。これまでのところ、私の代替案は変わらないので、それらを特定COALESCECASEて対処し、傾倒していますが、これが最も効率的な方法であるかどうか、そしてその理由を知りたいと思います。COALESCENULL

4

3 に答える 3

18

COALESCE()は文字通りCASEステートメントの省略形であり、同じように機能します。

ただし、podiluskaが述べたようにISNULL()、ステートメントよりも速い場合がありますCASEが、これらの関数が手順のボトルネックになる可能性は非常に低いため、ごくわずかな増加になる可能性があります。

パフォーマンスの違いについて詳しくは、こちらをご覧ください。

于 2012-11-01T14:44:07.200 に答える
7

状況によっては、またはISNULLよりも高速です。ただし、クロスプラットフォームの互換性が問題になる場合は、ANSI規格です。CASECOALESCECOALESCE

于 2012-11-01T09:55:24.177 に答える
5

COALESCE私はよりも使用することを好みますCASE。そして最も興味深いのは、コードがを使用するよりもはるかに短いことCASEです。

于 2012-11-01T09:45:27.613 に答える