Как я могу заставить преобразование SSIS Lookup игнорировать алфавитный регистр?

Надеюсь, это легко объяснить, но у меня есть преобразование поиска в одном из моих пакетов SSIS. Я использую его для поиска идентификатора записи сотрудника в таблице измерений. Однако моя проблема заключается в том, что некоторые из исходных данных имеют имена сотрудников во всех столицах (например: CHERRERA), а данные сравнения, которые я использую, все в нижнем регистре (например: cherrera).

Поиск не выполняется для записей, которые не совпадают на 100% (например, cherrera vs cherrera работает нормально, cherrera vs CHERRERA терпит неудачу). Есть ли способ заставить поисковое преобразование игнорировать регистр в типе данных string/varchar?


person rrydman    schedule 11.05.2009    source источник


Ответы (4)


Я считаю, что нет способа сделать преобразование нечувствительным к регистру, однако вы можете изменить оператор SQL для вашего преобразования, чтобы гарантировать, что исходные данные соответствуют регистру ваших данных сравнения, используя строковую функцию LOWER().

person The Lazy DBA    schedule 11.05.2009
comment
Идеальное решение - я поместил производное преобразование столбца перед поиском, который только что применил LOWER() к столбцу. Прекрасно работает :-) - person rrydman; 12.05.2009

Задайте для свойства CacheType преобразования поиска значение Partial или None.

Сравнение поиска теперь будет выполняться SQL Server, а не компонентом поиска SSIS, и больше не будет учитываться регистр.

person mpowrie    schedule 14.04.2015
comment
Это отлично сработало для моего приложения, плюс его преимущество в простоте. - person John Sully; 14.05.2021

Вы должны изменить источник, а также искать данные, оба должны быть одного типа.

person amal    schedule 05.10.2010

На основании этой статьи Microsoft:

Поиски, выполняемые преобразованием «Уточняющий запрос», чувствительны к регистру. Чтобы избежать ошибок поиска, вызванных различиями в регистре данных, сначала используйте преобразование «Карта символов», чтобы преобразовать данные в верхний или нижний регистр. Затем включите функции UPPER или LOWER в инструкцию SQL, которая создает справочную таблицу.

Чтобы узнать больше о преобразовании карты символов, перейдите по этой ссылке"

person Yahfoufi    schedule 18.12.2017