Производный столбец case оператора ssis

все еще изучаю SSIS

У меня есть источник Excel в SSIS, мне нужно создать оператор case на основе одного из столбцов [Teacher]

но как производный столбец (поскольку он не работает в операторе SQL)

нормальный SQL будет

CASE WHEN [Teacher] like '%A%' then [Teacher] else null end as [Teacher]

Я пытался найти примеры, но не могу найти ни одного с использованием типа "%A%"

пожалуйста помоги


person Joeysonic    schedule 11.08.2020    source источник
comment
Поскольку вы учитесь, какие поисковые запросы вы использовали?   -  person billinkc    schedule 11.08.2020
comment
поиск в Google, это на самом деле лучше, чем поиск в stackoverflow для результатов stackoverflow: производный столбец ssis с использованием like. Первый результат — это именно то, что вам нужно: заголовок stackoverflow.com/questions/4739230/   -  person KeithL    schedule 11.08.2020


Ответы (1)


Вы должны использовать условный с FINDSTRING() работает следующим образом (при условии, что столбец [Teacher] имеет тип DT_WSTR):

FINDSTRING([Teacher],"A",1) > 0 ? [Teacher] : NULL(DT_WSTR,50)
person Hadi    schedule 12.08.2020
comment
Спасибо за это, но как мне исправить обратное, чтобы вернуть значения в тот же столбец, но не желать тех, у которых есть A. Я пробовал FINDSTRING([Teacher],A,1) ‹ 0? [Учитель]: NULL (DT_WSTR, 50) и FINDSTRING ([Учитель], A, 1) = 1? [Учитель]: NULL (DT_WSTR, 50). без радости. пожалуйста помоги - person Joeysonic; 13.08.2020
comment
@Joeeysonic использует = 0 - person Hadi; 13.08.2020
comment
спасибо, это ==0 .. потрясающе. последняя проблема У меня чувствителен к регистру У меня есть одна запись, которая ...a... вместо A ... Я пробовал следующее FINDSTRING([Teacher],A,1) + FINDSTRING([Teacher],a,1 ) › 0 ? [Учитель] : NULL(DT_WSTR,50), но запись все еще там, как я могу изменить - person Joeysonic; 14.08.2020
comment
Неожиданно было найти одну запись с маленькой "а", но нужно как-то их отфильтровать, помогите пожалуйста x - person Joeysonic; 14.08.2020
comment
Попробуйте использовать FINDSTRING(UPPER([Teacher]) ,"A",1) - person Hadi; 14.08.2020