4

2つの値のいずれかがnullであるかどうか、そうでない場合は異なるかどうかを検出する必要があります。

私のスプリットの状態は

(ISNULL(ModuleLevelId) && !ISNULL(LEV_CODE)) || 
(!ISNULL(ModuleLevelId) && ISNULL(LEV_CODE)) || (ISNULL(LEV_CODE) ? 0 - ModuleLevelId : (DT_I4)LEV_CODE) != ModuleLevelId

しかし、私の式はnull、つまり非ブール条件につながると言われています。

誰かが私がうまくいく条件を書くのを手伝ってもらえますか?

どうもありがとう

パトリック

4

1 に答える 1

4
(ISNULL(ModuleLevelId) && !ISNULL(LEV_CODE)) || 
(!ISNULL(ModuleLevelId) && ISNULL(LEV_CODE)) ||
((ISNULL(LEV_CODE) ? 0 - ModuleLevelId :(DT_I4)LEV_CODE) != ModuleLevelId)

私はあなたがあなたの第3期を囲む必要があると思います:

 (ISNULL(LEV_CODE) ? 0 - ModuleLevelId :(DT_I4)LEV_CODE) != ModuleLevelId

と ()。式エンジンはそれを誤って解析していると思います

((ISNULL(ModuleLevelId) && !ISNULL(LEV_CODE)) || 
(!ISNULL(ModuleLevelId) && ISNULL(LEV_CODE)) ||
(ISNULL(LEV_CODE) ? 0 - ModuleLevelId :(DT_I4)LEV_CODE)) != ModuleLevelId

または(ブール値||ブール値|| INT)!= INT

必要な場合(ブール値||ブール値||ブール値)

この回答の一番上のコードを試してください。

于 2012-09-21T18:52:37.550 に答える