Чтение производного выражения столбца - PullRequest
2 голосов
/ 01 июля 2019

Мне нужна помощь в чтении этого запутанного производного выражения столбца, который содержит несколько логических выражений.

Я пытался читать его несколькими способами, но не уверен, какой из них правильный.

ISNULL(ContractNumber) ? (ISNULL(PaidLossAmount) 
&& ISNULL(CaseReserveAmount)) ? NULL(DT_CY) : 
(ISNULL(PaidLossAmount) ? 0 : PaidLossAmount) + (ISNULL(CaseReserveAmount) 
? 0 : CaseReserveAmount) : PaidLossAmount

Может кто-нибудь посоветовать, как следует читать это выражение?Спасибо за ваш совет!

1 Ответ

2 голосов
/ 01 июля 2019

Это вложенное, если еще в формате [Логический тест]?[Сделать это, если верно]: [Сделать это, если ложно]

Это отформатированная версия.

ISNULL(ContractNumber) 
     ?(ISNULL(PaidLossAmount) && ISNULL(CaseReserveAmount)) 
              ?NULL(DT_CY) 
              : (ISNULL(PaidLossAmount) 
                            ? 0 
                            : PaidLossAmount) 
                 + (ISNULL(CaseReserveAmount) 
                            ? 0 
                            : CaseReserveAmount) 
     : PaidLossAmount

Вот дерево решений:

enter image description here

...