на рассмотрении дела в SSIS - PullRequest
2 голосов
/ 07 июня 2019

Я настраиваю пакет для импорта электронной таблицы Excel в базу данных SQL.В электронной таблице есть столбец, в котором я хотел бы выбрать ключевые слова, а затем поместить их в новый столбец.В SQL это было бы похоже на базовый оператор case

case when column_A like '%Norwich%' then 'Norwich'
    when column_A like '%Ipswich%' then 'Ipswich'
    when column_A like '%Cambridge%' then 'Cambridge'
    else 'NA'
end as NewColumn

Я пробовал нижеприведенное, но я предполагаю, что он не работает должным образом, потому что теперь у меня есть групповые символы

[Report Title] == "Norwich" ? "Norwich" : [Report Title] == "Ipswich" ? "Ipswich" : [Report Title] == "Cambridge" ? "Cambridge" : "NA"

Пример:

Report Title                      NewColumn

Norwich is in Norfolk             Norwich
Cambridge is in Cambridgeshire    Cambridge
Suffolk is home to Ipswich        Ipswich

1 Ответ

1 голос
/ 07 июня 2019

Вы должны использовать функцию FINDSTRING() с вложенными условными операторами, чтобы добиться этого:

FINDSTRING([Report Title],"Norwich",1) > 0 ? "Norwich" : (
FINDSTRING([Report Title],"Ipswich",1) > 0 ? "Ipswich" : (
FINDSTRING([Report Title],"Cambridge",1) > 0 ? "Cambridge" : "NA"))

Ссылки

...