다음을 통해 공유


문자열 데이터 비교

적용 대상: SQL Server Azure Data Factory의 SSIS Integration Runtime

문자열 비교는 Integration Services에서 수행되는 여러 변환에서 중요한 부분이며, 변수의 식 및 속성 식 평가에도 사용됩니다. 예를 들어 정렬 변환은 데이터 세트의 값을 비교하여 데이터를 오름차순 또는 내림차순으로 정렬합니다.

문자열 비교를 위한 변환 구성

정렬, 집계, 유사 항목 그룹화 및 유사 항목 조회 변환을 사용자 지정하여 열 수준에서 문자열을 비교하는 방법을 변경할 수 있습니다. 예를 들어 비교 시 대/소문자를 무시하여 대문자와 소문자가 모두 동일한 문자로 취급되도록 지정할 수 있습니다.

다음 변환에서는 문자열 비교를 포함할 수 있는 식을 사용합니다.

  • 조건부 분할 변환은 식에서 문자열 비교를 사용하여 데이터 행을 보낼 출력을 결정할 수 있습니다. 자세한 내용은 Conditional Split Transformation을 참조하세요.

  • 파생 열 변환은 식에서 문자열 비교를 사용하여 새 열 값을 생성할 수 있습니다. 자세한 내용은 파생 열 변환‭을 참조하세요.

또한 변수, 변수 매핑 및 선행 제약 조건에서는 문자열 비교가 포함될 수 있는 식이 사용됩니다. 식에 대한 자세한 내용은 Integration Services(SSIS) 식을 참조하세요.

문자열 비교 중 처리

데이터 및 변환 구성에 따라 문자열 데이터 비교 중에 다음 처리 작업이 발생할 수 있습니다.

  • 데이터를 유니코드로 변환합니다. 원본 데이터가 아직 유니코드가 아닌 경우 비교가 발생하기 전에 데이터가 자동으로 유니코드로 변환됩니다.

  • 로컬을 사용하여 날짜, 시간, 소수점 데이터 및 정렬 순서를 해석하기 위한 로컬별 규칙을 적용합니다.

  • 열 수준에서 비교 옵션을 적용하여 비교 시 대/소문자 구분 여부를 변경합니다.

문자열 데이터를 유니코드로 변환하기

변환이 수행하는 작업 및 변환 구성에 따라 문자열 데이터는 문자열 문자의 유니코드 표현인 DT_WSTR의 데이터 형식으로 변환될 수 있습니다.

데이터 형식이 DT_STR인 문자열 데이터는 열의 코드 페이지를 사용하여 유니코드로 변환됩니다. Integration Services는 열 수준에서 코드 페이지를 지원하며, 각 열은 다른 코드 페이지를 사용하여 변환할 수 있습니다.

대부분의 경우 Integration Services는 데이터 원본에서 올바른 코드 페이지를 식별할 수 있습니다. 예를 들어 SQL Server에서 데이터베이스 및 열 수준에서 데이터 정렬을 설정할 수 있습니다. 코드 페이지는 Windows 또는 SQL 데이터 정렬일 수 있는 SQL Server 데이터 정렬에서 파생됩니다.

Integration Services에서 예기치 않은 코드 페이지를 제공하거나 패키지가 올바른 코드 페이지를 결정하기에 충분한 정보를 제공하지 않는 공급자를 사용하여 데이터 원본에 액세스하는 경우 OLE DB 원본 및 OLE DB 대상에서 기본 코드 페이지를 지정할 수 있습니다. 기본 코드 페이지는 Integration Services에서 제공하는 코드 페이지 대신 사용됩니다.

파일에는 코드 페이지가 없습니다. 대신 패키지가 파일 데이터에 연결하는 데 사용하는 플랫 파일 및 다중 플랫 파일 연결 관리자에는 파일의 코드 페이지를 지정하기 위한 속성이 포함됩니다. 코드 페이지는 열 수준이 아니라 파일 수준에서만 설정할 수 있습니다.

로캘 설정

Integration Services에서는 코드 페이지를 사용하여 데이터 정렬 또는 날짜, 시간 및 숫자 데이터 해석을 위한 로컬별 규칙을 유추하지 않습니다. 대신 변환은 데이터 흐름 구성 요소, 데이터 흐름 태스크, 컨테이너 또는 패키지의 LocaleId 속성에 의해 설정된 로컬을 읽습니다. 기본적으로 변환의 로컬은 해당 데이터 흐름 태스크에서 상속되며, 이 작업은 패키지에서 상속됩니다. 데이터 흐름 태스크가 For 루프 컨테이너와 같은 컨테이너에 있는 경우 컨테이너에서 해당 로컬을 상속합니다.

또한 플랫 파일 연결 관리자와 다중 플랫 파일 연결 관리자에 대한 로캘을 지정할 수 있습니다.

비교 옵션 설정

로컬은 문자열 데이터를 비교하기 위한 기본 규칙을 제공합니다. 예를 들어 로컬은 알파벳에서 각 문자의 정렬 위치를 지정합니다. 그러나 이러한 규칙은 일부 변환이 수행하는 비교에 충분하지 않을 수 있으며 Integration Services는 로컬의 비교 규칙을 넘어서는 고급 비교 옵션 집합을 지원합니다. 이러한 비교 옵션은 열 수준에서 설정됩니다. 예를 들어 비교 옵션 중 하나를 사용하면 간격이 없는 문자를 무시할 수 있습니다. 이 옵션을 설정하면 악센트와 같은 분음 부호를 무시하여 비교 시 “a”와 “á”가 동일하게 인식됩니다.

다음 표에서는 비교 옵션 및 정렬 스타일에 대해 설명합니다.

비교 옵션 설명
Ignore case 비교에서 대문자와 소문자를 구분하는지 여부를 지정합니다. 이 옵션을 설정하면 문자열 비교에서 대소문자 형식을 무시합니다. 예를 들어 "ABC"는 "abc"와 동일합니다.
가나 형식 무시 일본어 가나 문자의 두 가지 유형인 히라가나 및 가타가나를 구분합니다. 이 옵션을 설정하면 문자열 비교에서 kana 형식을 무시합니다.
문자 너비 무시 비교에서 같은 문자라도 싱글 바이트 문자와 더블 바이트 문자로 표기되었을 때를 구분할지 여부를 지정합니다. 이 옵션을 설정하면 문자열 비교 시 동일 문자에 대한 싱글바이트 표현과 더블바이트 표현이 동일하게 인식됩니다.
간격이 없는 문자 무시 비교에서 공백 문자와 분음 부호를 구분할지 여부를 지정합니다. 이 옵션을 설정하면 비교에서 분음 부호를 무시합니다. 예를 들어 "Ã¥"는 "a"와 동일합니다.
기호 무시 비교에서 공백 문자, 문장 부호, 통화 기호 및 수학 기호와 같은 문자 문자와 기호를 구분할지 여부를 지정합니다. 이 옵션을 설정하면 문자열 비교에서 기호를 무시합니다. 예를 들어 " New York"은 "New York"과 같아지고 "*ABC"는 "ABC"와 동일해 집니다.
문장 부호를 기호로 정렬 비교에서 하이픈과 따옴표를 제외한 모든 문장 부호 기호를 영숫자 문자 앞에 정렬할지 여부를 지정합니다. 예를 들어 이 옵션을 설정하면 “.ABC”가 “ABC” 앞에 정렬됩니다.

정렬, 집계, 유사 항목 그룹화 및 유사 항목 조회 변환에는 데이터를 비교하기 위한 이러한 옵션이 포함됩니다.

유사 항목 그룹화 및 유사 항목 조회 변환의 고급 편집기 대화 상자에 FullySensitive 비교 플래그가 표시됩니다. FullySensitive 비교 플래그를 선택하면 모든 비교 옵션이 적용됩니다.

참고 항목

Integration Services 데이터 형식
빠른 구문 분석
표준 구문 분석