Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:SQL Server
SSIS Integration Runtime em Azure Data Factory
As comparações de cadeias são uma parte importante de muitas das transformações realizadas pelos Serviços de Integração, e as comparações de cadeias também são usadas na avaliação de expressões em variáveis e expressões de propriedades. Por exemplo, a transformação Ordenar compara valores num conjunto de dados para ordenar dados por ordem crescente ou descendente.
Configuração de Transformações para Comparações de Strings
As transformações Ordenar, Agregar, Agrupamento Fuzzy e Pesquisa Fuzzy podem ser personalizadas para alterar a forma como as cadeias de texto são comparadas ao nível das colunas. Por exemplo, pode especificar que uma comparação ignora a diferença entre maiúsculas e minúsculas, o que significa que os caracteres maiúsculos e minúsculos são tratados como caractere igual.
As transformações seguintes usam expressões que podem incluir comparações de cadeias.
A transformação de Divisão Condicional pode usar comparações de cadeias em expressões para determinar para que saída enviar a linha de dados. Para mais informações, veja Transformação de Divisão Condicional.
A transformação Coluna Derivada pode usar comparações de cadeias em expressões para gerar novos valores de coluna. Para mais informações, veja Transformação de Coluna Derivada.
Variáveis, mapeamentos de variáveis e restrições de precedência também usam expressões, que podem incluir comparações de cadeias. Para mais informações sobre expressões, consulte Expressões de Serviços de Integração (SSIS).
Processamento durante a Comparação de Strings
Dependendo dos dados e da configuração da transformação, pode ocorrer o seguinte processamento durante a comparação dos dados das cadeias:
Converter dados para Unicode. Se os dados de origem ainda não forem Unicode, os dados são automaticamente convertidos para Unicode antes de ocorrer a comparação.
Usar local para aplicar regras específicas de local para interpretar data, hora, dados decimais e ordem de ordenação.
Aplicar opções de comparação ao nível da coluna para alterar a sensibilidade das comparações.
Conversão de Dados de Cadeia para Unicode
Dependendo das operações que a transformação realiza e da configuração da transformação, os dados de cadeia podem ser convertidos para o tipo de dado DT_WSTR, que é uma representação Unicode de caracteres de cadeia.
Os dados de cadeias que têm o tipo de dados DT_STR são convertidos para Unicode utilizando a página de código da coluna. O Integration Services suporta páginas de código ao nível da coluna, e cada coluna pode ser convertida usando uma página de código diferente.
Na maioria dos casos, os Serviços de Integração conseguem identificar a página de código correta a partir da fonte de dados. Por exemplo, no SQL Server podes definir uma colação ao nível da base de dados e da coluna. A página de código deriva de uma colação SQL Server, que pode ser uma colação Windows ou SQL.
Se os Serviços de Integração fornecerem uma página de códigos inesperada, ou se o pacote aceder a uma fonte de dados usando um fornecedor que não forneça informação suficiente para determinar a página de códigos correta, pode especificar uma página de códigos padrão na fonte OLE DB e no destino OLE DB. As páginas de código padrão são usadas em vez das páginas de código que os Serviços de Integração fornecem.
Os ficheiros não têm páginas de códigos. Em vez disso, os gestores de ligação Flat File e Multiple Flat Files que um pacote utiliza para ligar a dados de ficheiros incluem uma propriedade para especificar a página de código do ficheiro. A página de código pode ser definida apenas ao nível do ficheiro, não ao nível da coluna.
Configuração Local
O Integration Services não utiliza a página de códigos para inferir regras específicas de local para ordenação de dados ou interpretação de data, hora e dados decimais. Em vez disso, a transformação lê o local definido pela propriedade LocaleId no componente de fluxo de dados, tarefa, contentor ou pacote de fluxo de dados. Por defeito, a localização de uma transformação é herdada da sua tarefa Data Flow, que por sua vez herda do pacote. Se a tarefa Data Flow estiver num contentor como o contentor For Loop, herda a sua localização do contentor.
Também pode especificar uma localização para um gestor de ligações Flat File e um gestor de ligações Multiple Flat Files.
Definição de Opções de Comparação
O local fornece as regras básicas para comparar dados de strings. Por exemplo, o local especifica a posição de classificação de cada letra do alfabeto. No entanto, estas regras podem não ser suficientes para as comparações que algumas transformações realizam, e o Integration Services suporta um conjunto de opções avançadas de comparação que vão além das regras de comparação de uma localidade. Estas opções de comparação são definidas ao nível da coluna. Por exemplo, uma das opções de comparação permite-lhe ignorar caracteres não espaçadores. O efeito desta opção é ignorar diacríticos como o acento, que torna o "a" e o "Ás" idênticos para efeitos de comparação.
A tabela seguinte descreve as opções de comparação e um estilo de ordenação.
| Opção de comparação | Description |
|---|---|
| Ignorar caso | Especifica se a comparação distingue entre maiúsculas e minúsculas. Se esta opção estiver definida, a comparação de cadeias ignora o caso. Por exemplo, "ABC" torna-se igual a "abc". |
| Ignorar o tipo kana | Especifica se a comparação distingue entre os dois tipos de caracteres kana japoneses: hiragana e katakana. Se esta opção estiver definida, a comparação de strings ignora o tipo kana. |
| Ignorar a largura dos caracteres | Especifica se a comparação distingue entre um carácter de um byte e o mesmo carácter quando este é representado como um carácter de dois bytes. Se esta opção estiver definida, a comparação de cadeias trata representações de um e dois bytes do mesmo carácter como idênticas. |
| Ignorar caracteres sem espaçamento | Especifica se a comparação distingue entre caracteres de espaçamento e diacríticos. Se esta opção estiver definida, a comparação ignora os diacríticos. Por exemplo, "Ã¥" é igual a "a". |
| Ignorar símbolos | Especifica se a comparação distingue entre caracteres de letras e símbolos como espaços em branco, pontuação, símbolos de moeda e símbolos matemáticos. Se esta opção estiver definida, a comparação de cadeias ignora símbolos. Por exemplo, "Nova Iorque" torna-se igual a "Nova Iorque" e "*ABC" é igual a "ABC". |
| Ordenar a pontuação como símbolos | Especifica se a comparação ordena todos os símbolos de pontuação, exceto o hífen e o apóstrofo, antes dos caracteres alfanuméricos. Por exemplo, se esta opção estiver definida, ". ABC" ordena antes de "ABC". |
As transformações Ordenar, Agregar, Agrupamento Fuzzy e Pesquisa Fuzzy incluem estas opções para comparar dados.
Indicador de comparação FullySensitive aparece na caixa de diálogo do Editor Avançado para as transformações Fuzzy Grouping e Fuzzy Lookup. Selecionar o sinalizador de comparação FullySensitive significa que todas as opções de comparação se aplicam.
Ver também
Tipos de Dados dos Serviços de Integração
Análise Rápida
Análise Sintática Padrão