次の条件付き分割式が何をしようとしているかを理解しようとしています。条件付き分割説明
ISNULL(Employee_ID_WD)||
私はSSISを初めて使用していますが、これは誰でも説明できますか?いいえ、それは何ですか?
次の条件付き分割式が何をしようとしているかを理解しようとしています。条件付き分割説明
ISNULL(Employee_ID_WD)||
私はSSISを初めて使用していますが、これは誰でも説明できますか?いいえ、それは何ですか?
あなたがそれを分解すると、それは比較的単純な表現です。 Employee_ID_WD
がNULLまたはEmployee_ID
値がEmployee_ID_WD
値ではない場合true
を返し、その後、;簡潔に(DR TL)にそれを置くために
。それ以外の場合は、false
を返します。
詳細:
最初の部分、ISNULL(Employee_ID_WD)
は、nullであるEmployee_ID_WD
の参照をチェック。そうであれば、式はすぐにtrueを返します。その理由は、その直後の||
です。これは論理的または論理的に呼ばれます。多くのプログラミングでこれを見ると、||
が真である前にその部分があればすぐに返るような表現をプログラマが望んでいることを示しています。言い換えれば、||
の前に何かが本当なら、私があなたが必要とすることを始めます。この表現の何かをチェックするのは意味がありません。移動するために私が知る必要があることを知っています。これは、短絡評価と呼ばれます。 Wiki。
Employee_ID_WD
がヌルでない場合は、式の次の部分に移動します。
この部分は:
(RIGHT(REPLACENULL(Employee_ID_WD,"0"),LEN(REPLACENULL(Employee_ID,"0")))
Employee_ID_WD
の右側にある文字をつかんれます。それが要求している文字の数は、(長さ)関数がEmployee_ID
上で実行されてから返されるものです。また、両方の部分が、REPLACENULL
関数で示されるように、渡される値がnullであるかどうかをチェックしています。 nullの場合は、値が0の文字列が返されます。これは、値の1つがnullの場合に行われ、真の値の比較を取得します。この式のすべての部分でREPLACENULL
関数を使用すると、はるかに頑強になります。つまり、データの不一致が何かエラーなしに処理されるか、最終的に一貫した結果が得られます。
上記の結果はREPLACENULL(Employee_ID,"0")
と比較されます。上記の部分とこれが等しくない場合(!=
は等しくない)、式は真を返します。
詳細な回答ありがとうございます。この答えは、私が求めている明確さを提供します。 – Sharktooth