У меня есть это вложенное тернарное выражение в SSIS, которое я не могу заставить работать, мои глаза вот-вот выйдут из моего черепа.Вложенные тройники, не могут обнаружить ошибку
FINDSTRING(TRIM(f3),"BASICS",1) != 0 ? (UPPER(LEFT(TRIM(f3),1)) == "F" ? @[User::FallBasicsEntityId] : (UPPER(LEFT(TRIM(f3),1)) == "S" ? @[User::SpringBasicsEntityId] : @[user::BasicsEntityId])) : (UPPER(LEFT(TRIM(f3),1)) == "F" ? @[user::FallEntityId] : (UPPER(LEFT(TRIM(f3),1)) == "S" ? @[user::SpringEntityId] : @[user::DefaultEntityId]))
Вот "отступом" версия:
FINDSTRING(TRIM(f3),"BASICS",1) != 0
? (
UPPER(LEFT(TRIM(f3),1)) == "F"
? @[User::FallBasicsEntityId]
: (
UPPER(LEFT(TRIM(f3),1)) == "S"
? @[User::SpringBasicsEntityId]
: @[user::BasicsEntityId]
)
)
: (
UPPER(LEFT(TRIM(f3),1)) == "F"
? @[user::FallEntityId]
: (
UPPER(LEFT(TRIM(f3),1)) == "S"
? @[user::SpringEntityId]
: @[user::DefaultEntityId]
)
)
Что мне не хватает? Мне кажется, что круглые скобки сбалансированы и правильно размещены .. или они?
Я собираюсь угробить это и прибегнуть к компоненту сценария ... мне кажется, такое выражение было бы легче поддерживать с C# код ...
Что вам не хватает? Описание того, какой должен быть вход/выход. знак равно – RubberDuck