Udostępnij przez


Porównywanie danych ciągów

Dotyczy:SQL Server SSIS Integration Runtime w ramach usługi Azure Data Factory

Porównania ciągów są ważną częścią wielu przekształceń wykonywanych przez usługi Integration Services, a porównania ciągów są również używane w ocenie wyrażeń w zmiennych i wyrażeniach właściwości. Na przykład przekształcenie Sortuj porównuje wartości w zestawie danych w celu sortowania danych w kolejności rosnącej lub malejącej.

Konfigurowanie przekształceń dla porównań ciągów

Przekształcenia sortowania, agregowania, grupowania rozmytego i wyszukiwania rozmytego można dostosować w celu zmiany sposobu porównywania ciągów na poziomie kolumny. Można na przykład określić, że porównanie ignoruje wielkość liter, co oznacza, że wielkie i małe litery są traktowane jako ten sam znak.

Poniższe przekształcenia używają wyrażeń, które mogą zawierać porównania ciągów.

  • Transformacja podziału warunkowego może używać porównań ciągów w wyrażeniach, aby określić, do którego wyjścia ma być wysyłany wiersz danych. Aby uzyskać więcej informacji, zobacz Transformację podziału warunkowego .

  • Transformacja kolumny pochodnej może używać porównań ciągów w wyrażeniach do generowania nowych wartości kolumn. Aby uzyskać więcej informacji, zobacz Przekształcanie kolumn pochodnych.

Zmienne, mapowania zmiennych i ograniczenia pierwszeństwa używają również wyrażeń, które mogą obejmować porównania ciągów. Aby uzyskać więcej informacji na temat wyrażeń, zobacz Wyrażenia usług Integration Services (SSIS).

Przetwarzanie podczas porównywania ciągów

W zależności od danych i konfiguracji przekształcenia podczas porównywania danych ciągów mogą wystąpić następujące operacje przetwarzania:

  • Konwertowanie danych na Unicode. Jeśli dane źródłowe nie są jeszcze Unicode, dane są automatycznie konwertowane na Unicode przed rozpoczęciem porównania.

  • Używanie ustawień regionalnych do stosowania reguł specyficznych dla ustawień regionalnych do interpretowania daty, godziny, danych dziesiętnych i kolejności sortowania.

  • Stosowanie opcji porównania na poziomie kolumny w celu zmiany czułości porównań.

Konwertowanie danych ciągu na Unicode

W zależności od operacji wykonywanych przez przekształcenie i konfiguracji przekształcenia dane ciągu mogą być konwertowane na typ danych DT_WSTR, który jest reprezentacją znaków ciągu Unicode.

Dane ciągu, które mają typ danych DT_STR, są konwertowane na Unicode przy użyciu strony kodowej kolumny. Usługi Integration Services obsługują strony kodu na poziomie kolumny, a każda kolumna może zostać przekonwertowana przy użyciu innej strony kodowej.

W większości przypadków usługi Integration Services mogą identyfikować poprawną stronę kodu ze źródła danych. Na przykład w programie SQL Server można ustawić sortowanie na poziomach bazy danych i kolumn. Strona kodowa pochodzi z sortowania programu SQL Server, które może być sortowaniem systemu Windows lub SQL.

Jeśli usługi Integration Services udostępniają nieoczekiwaną stronę kodową lub jeśli pakiet uzyskuje dostęp do źródła danych przy użyciu dostawcy, który nie dostarcza wystarczających informacji w celu określenia poprawnej strony kodowej, możesz określić domyślną stronę kodową w źródle OLE DB i miejscu docelowym OLE DB. Domyślne strony kodu są używane zamiast stron kodu zapewnianych przez usługi Integration Services.

Pliki nie mają stron kodu. Zamiast tego menedżerowie połączeń Flat File i Multiple Flat Files, których pakiet używa do łączenia się z danymi plików, zawierają właściwość określającą stronę kodową pliku. Strona kodowa może być ustawiana tylko na poziomie pliku, a nie na poziomie kolumny.

Ustawianie ustawień regionalnych

Usługi Integration Services nie używają strony kodu do określania reguł lokalnych do sortowania danych lub interpretacji danych dotyczących daty, czasu i wartości dziesiętnych. Zamiast tego przekształcenie odczytuje ustawienia regionalne ustawione przez właściwość LocaleId w składniku przepływu danych, zadaniu przepływu danych, kontenerze lub pakiecie. Domyślnie ustawienia regionalne przekształcenia są dziedziczone z zadania przepływu danych, które z kolei dziedziczy z pakietu. Jeśli zadanie przepływu danych znajduje się w kontenerze, na przykład w kontenerze For Loop, dziedziczy ustawienia regionalne z tego kontenera.

Można również określić ustawienia regionalne dla menedżera połączeń plików prostych i menedżera połączeń z wieloma plikami płaskimi.

Ustawianie opcji porównania

Ustawienia regionalne udostępniają podstawowe reguły porównywania ciągów znaków. Na przykład ustawienia regionalne określają położenie sortowania każdej litery w alfabecie. Jednak te reguły mogą nie być wystarczające w przypadku porównań, które wykonują niektóre przekształcenia, a Usługi Integracyjne obsługują zestaw zaawansowanych opcji porównania, które wykraczają poza reguły porównywania ustawień regionalnych. Te opcje porównania są ustawiane na poziomie kolumny. Na przykład jedna z opcji porównania umożliwia ignorowanie znaków nieodstępujących. Efektem tej opcji jest ignorowanie znaków diakrytycznych, takich jak akcent, który sprawia, że "a" i "Ã"" są identyczne w celach porównawczych.

W poniższej tabeli opisano opcje porównania i styl sortowania.

Opcja porównania Description
Ignoruj wielkość liter Określa, czy porównanie rozróżnia wielkie i małe litery. Jeśli ta opcja jest ustawiona, porównanie ciągów ignoruje wielkość liter. Na przykład "ABC" staje się identyczne jak "abc".
Ignoruj typ kana Określa, czy porównanie rozróżnia dwa typy japońskich znaków kana: hiragana i katakana. Jeśli ta opcja jest ustawiona, porównanie ciągów ignoruje typ kana.
Ignoruj szerokość znaku Określa, czy porównanie rozróżnia znak jednobajtowy i ten sam znak, gdy jest reprezentowany jako znak dwubajtowy. Jeśli ta opcja jest ustawiona, porównanie ciągów traktuje reprezentacje jednobajtowe i dwubajtowe tego samego znaku co identyczne.
Ignoruj znaki niewidoczne Określa, czy porównanie rozróżnia odstępy między znakami i znakami diakrytycznymi. Jeśli ta opcja jest ustawiona, porównanie ignoruje znaki diakrytyczne. Na przykład znak "Ã¥" jest równy "a".
Ignoruj symbole Określa, czy porównanie rozróżnia znaki litery i symbole, takie jak znaki odstępu, znaki interpunkcyjne, symbole walutowe i symbole matematyczne. Jeśli ta opcja jest ustawiona, porównanie ciągów ignoruje symbole. Na przykład "Nowy Jork" staje się taki sam jak "Nowy Jork", a "*ABC" jest taki sam jak "ABC".
Sortuj znaki interpunkcyjne jako symbole Określa, czy porównanie sortuje wszystkie symbole interpunkcyjne, z wyjątkiem łącznika i apostrofu, przed znakami alfanumerycznymi. Jeśli na przykład ta opcja jest ustawiona, ". ABC" sortuje przed "ABC".

Przekształcenia sortowania, agregowania, grupowania rozmytego i wyszukiwania rozmytego obejmują te opcje porównywania danych.

Flaga porównania FullySensitive pojawia się w oknie dialogowym Edytora zaawansowanego dla transformacji Grupowania rozmytego i Wyszukiwania rozmytego. Wybranie flagi porównania Pełnej Czułości oznacza, że mają zastosowanie wszystkie opcje porównania.

Zobacz też

Typy danych usług Integration Services
Szybka analiza
Standardowe Parsowanie