Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Сравнение строк является важной частью многих преобразований, выполняемых службами Integration Services, и сравнения строк также используются в оценке выражений в переменных и выражениях свойств. Например, преобразование Сортировки сравнивает значения в наборе данных для сортировки данных по возрастанию или убыванию.
Настройка преобразований для сравнения строк
Преобразования "Сортировка", "Агрегат", "Нечеткое группирование" и "Нечеткий поиск" можно настроить для изменения способа сравнения строк на уровне столбца. Например, можно указать, что сравнение игнорирует регистр, что означает, что символы верхнего и нижнего регистра обрабатываются как один и тот же символ.
В следующих преобразованиях используются выражения, которые могут включать сравнения строк.
Преобразование условного разделения может использовать сравнения строк в выражениях для определения, в какой выход направить строку данных. Дополнительные сведения см. в статье Conditional Split Transformation.
Преобразование "Производный столбец" может использовать сравнения строк в выражениях для создания новых значений столбцов. Дополнительные сведения см. в разделе Derived Column Transformation.
Переменные, сопоставления переменных и ограничения приоритета также используют выражения, которые могут включать сравнения строк. Дополнительные сведения о выражениях см. в "Выражения служб Integration Services (SSIS)".
Обработка во время сравнения строк
В зависимости от данных и конфигурации преобразования при сравнении строковых данных может произойти следующая обработка:
Преобразование данных в Юникод. Если исходные данные еще не в Юникоде, данные автоматически преобразуются в Юникод перед сравнением.
Использование языкового стандарта для того, чтобы применять правила интерпретации даты, времени, десятичной информации и порядка сортировки.
Применение параметров сравнения на уровне столбца для изменения чувствительности сравнений.
Преобразование строковых данных в Юникод
В зависимости от операций, выполняемых преобразованием и конфигурацией преобразования, строковые данные могут быть преобразованы в тип данных DT_WSTR, который представляет собой представление строковых символов в Юникоде.
Строковые данные с типом данных DT_STR преобразуются в Юникод с помощью кодовой страницы столбца. Службы Integration Services поддерживают кодовую страницу на уровне столбца, и каждый столбец можно преобразовать с помощью другой кодовой страницы.
В большинстве случаев службы Integration Services могут определить правильную кодовую страницу из источника данных. Например, в SQL Server можно задать параметры сортировки на уровнях базы данных и столбцов. Кодовая страница является произведенной от сортировки SQL Server, которая может быть либо сортировкой Windows, либо SQL сортировкой.
Если службы Integration Services предоставляют непредвиденную кодовую страницу, или пакет обращается к источнику данных, используя поставщика, который не предоставляет достаточные сведения для определения правильной кодовой страницы, можно указать кодовую страницу по умолчанию в источнике OLE DB и приемнике OLE DB. Кодовая страница по умолчанию используется вместо кодовых страниц, предоставляемых службами Integration Services.
Файлы не имеют кодовой страницы. Вместо этого диспетчеры соединений с плоскими файлами и несколькими плоскими файлами, которые пакет использует для подключения к данным файлов, включают свойство для указания кодовой страницы файла. Кодовая страница может быть задана только на уровне файла, а не на уровне столбца.
Настройка локали
Службы Integration Services не используют кодовую страницу для выведения локальных правил сортировки данных или интерпретации данных форматов даты, времени и десятичного числа. Вместо этого преобразование читает локаль, установленную с помощью свойства LocaleId, на компоненте потока данных, задаче потока данных, контейнере или пакете. По умолчанию локаль преобразования наследуется от задачи Data Flow, которая наследует от пакета. Если задача потока данных находится в контейнере, например контейнере "Цикл For", она наследует языковой стандарт от контейнера.
Можно также указать языковой стандарт для менеджера подключений с плоскими файлами и менеджера подключений с несколькими плоскими файлами.
Настройка параметров сравнения
Локальные настройки предоставляют основные правила для сравнения строковых данных. Например, региональные настройки задают позицию сортировки каждой буквы в алфавите. Однако этих правил может быть недостаточно для сравнений, которые выполняются некоторыми преобразованиями, и службы Integration Services поддерживают расширенные параметры сравнения, которые выходят за рамки правил сравнения, определяемых языковым стандартом. Эти параметры сравнения задаются на уровне столбца. Например, один из вариантов сравнения позволяет игнорировать недиакритические символы. Эффект этого параметра заключается в том, чтобы игнорировать диакритические элементы, такие как акцент, который делает "a" и "å" идентичными для целей сравнения.
В следующей таблице описываются параметры сравнения и стиль сортировки.
| Вариант сравнения | Описание |
|---|---|
| Игнорировать регистр | Указывает, следует ли при сравнении различать символы в верхнем и нижнем регистре. Если параметр задан, то строковое сравнение игнорирует регистр. Например, «ABC» при сравнении не отличается от «abc». |
| Игнорировать тип kana | Указывает, следует ли различать при сравнении два типа символов японской азбуки: хирагана и катакана. Если параметр задан, то строковое сравнение игнорирует тип японской азбуки. |
| Игнорировать ширину символов | Указывает, следует ли при сравнении различать однобайтовые символы или аналогичные двухбайтовые символы. Если параметр задан, то строковое сравнение рассматривает однобайтовое и двухбайтовое представления символа как один и тот же символ. |
| Игнорировать неразделительные символы | Указывает, следует ли при сравнении различать обычные символы и символы с диакритическими знаками. Если параметр задан, то строковое сравнение не учитывает диакритические знаки. Например, "å" равно "a". |
| Игнорировать символы | Указывает, определяется ли в сравнении различие между буквенными символами и такими символами, как пробелы, знаки препинания, валютные и математические символы. Если этот параметр задан, сравнение строк игнорирует символы. Например, "Нью-йорк" становится таким же, как "Нью-йорк" и "*ABC" совпадает с "ABC". |
| Сортировка знаков препинания в виде символов | Указывает, сортирует ли сравнение все символы препинания, кроме дефиса и апострофа, до буквенно-цифровых символов. Например, если этот параметр установлен, ".ABC" будет идти перед "ABC". |
Преобразования "Сортировка", "Агрегат", "Нечеткое группирование" и "Нечеткий поиск" включают эти параметры для сравнения данных.
Флаг Полная чувствительность отображается в диалоговом окне "Расширенный редактор" для преобразований "Нечеткое группирование" и "Нечеткий поиск". Выбор флага ПолнойЧувствительности означает, что применяются все параметры сравнения.
См. также
Типы данных служб Integration Services
Быстрый анализ
Стандартный анализ