구문(SSIS)Syntax (SSIS)

Integration ServicesIntegration Services 식 구문은 C 언어와 C# 언어에서 사용하는 구문과 유사합니다.The Integration ServicesIntegration Services expression syntax is similar to the syntax that the C and C# languages use. 식별자(열과 변수), 리터럴, 연산자, 함수 등의 요소가 식에 포함됩니다.Expressions include elements such as identifiers (columns and variables), literals, operators, and functions. 이 항목에서는 각 식 요소에 적용되는 식 계산기 구문의 고유 요구 사항을 요약해서 보여 줍니다.This topic summarizes the unique requirements of the expression evaluator syntax as they apply to different expression elements.

참고

이전 버전의 Integration ServicesIntegration Services에서는 결과에 Integration ServicesIntegration Services DT_WSTR 또는 DT_STR 데이터 형식이 있는 경우 식의 계산 결과에 대해 4000자 제한이 있었습니다.In previous releases of Integration ServicesIntegration Services, there was a 4000-character limit on the evaluation result of an expression when the result had the Integration ServicesIntegration Services data type DT_WSTR or DT_STR. 이제 이 제한이 제거되었습니다.This limit has been removed.

특정 연산자와 함수를 사용하는 샘플 식은 연산자(SSIS 식)함수(SSIS 식) 항목에서 각 연산자와 함수에 대한 항목을 참조하세요.For sample expressions that use specific operators and functions, see the topic about each operator and function in the topics: Operators (SSIS Expression) and Functions (SSIS Expression).

여러 개의 연산자 및 함수뿐만 아니라 식별자와 리터럴도 사용하는 샘플 식은 고급 Integration Services 식의 예를 참조하세요.For sample expressions that use multiple operators and functions as well as identifiers and literals, see Examples of Advanced Integration Services Expressions.

속성 식에서 사용할 샘플 식은 패키지에서 속성 식 사용을 참조하세요.For sample expressions to use in property expressions, see Use Property Expressions in Packages.

식별자Identifiers

식은 열 식별자와 변수 식별자를 포함할 수 있습니다.Expressions can include column and variable identifiers. 열은 데이터 원본에서 시작되거나 데이터 흐름에서 변환으로 만들어질 수 있습니다.The columns can originate in the data source or can be created by transformations in the data flow. 식은 계보 식별자를 사용하여 열을 참조할 수 있습니다.Expressions can use lineage identifiers to refer to columns. 계보 식별자는 패키지 요소를 고유하게 식별하는 번호입니다.Lineage identifiers are numbers that uniquely identify package elements. 식에서 참조된 계보 식별자는 파운드(#) 접두사를 포함해야 합니다.Lineage identifiers, referenced in an expression, must include the pound (#) prefix. 예를 들어 계보 식별자 138은 #138을 사용하여 참조합니다.For example, the lineage identifier 138 is referenced using #138.

식은 SSISSSIS 에서 제공하는 시스템 변수와 사용자 지정 변수를 포함할 수 있습니다.Expressions can include the system variables that SSISSSIS provides and custom variables. 식에서 참조된 변수는 @ 접두사를 포함해야 합니다.Variables, when referenced in an expression, must include the @ prefix. 예를 들어는 Counter 변수를 사용 하는 참조 @Counter합니다.</span><span class="sxs-lookup">For example, the Counter variable is referenced using @Counter.</span></span> @ 문자는 변수 이름의 일부가 아니라 식 계산기에 해당 변수를 식별하는 역할만 합니다.The @ character is not part of the variable name; it only indicates to the expression evaluator that the identifier is a variable. 자세한 내용은 식별자(SSIS)를 참조하세요.For more information, see Identifiers (SSIS).

리터럴Literals

식은 숫자, 문자열 및 부울 리터럴을 포함할 수 있습니다.Expressions can include numeric, string, and Boolean literals. 식에 사용된 문자열 리터럴은 따옴표로 묶어야 합니다.String literals used in expressions must be enclosed in quotation marks. 숫자 및 부울 리터럴은 따옴표를 사용하지 않습니다.Numeric and Boolean literals do not take quotation marks. 식 언어에는 자주 이스케이프되는 문자에 대한 이스케이프 시퀀스가 포함되어 있습니다.The expression language includes escape sequences for characters that are frequently escaped. 자세한 내용은 리터럴(SSIS)을 참조하세요.For more information, see Literals (SSIS).

연산자Operators

식 계산기는 Transact-SQL, C++ 및 C#과 같은 언어의 연산자 집합과 유사한 기능을 제공하는 연산자 집합을 제공합니다.The expression evaluator provides a set of operators that provides functionality similar to the set of operators in languages such as Transact-SQL, C++, and C#. 그러나 식 언어에는 추가 연산자가 포함되어 있으며 일반적인 기호가 아닌 다른 기호를 사용합니다.However, the expression language includes additional operators and uses different symbols than those you may be familiar with. 자세한 내용은 연산자(SSIS 식)를 참조하세요.For more information, see Operators (SSIS Expression).

네임스페이스 확인 연산자Namespace Resolution Operator

식은 네임스페이스 확인 연산자(::)를 사용하여 동일한 이름을 가진 변수를 명확하게 구분합니다.Expressions use the namespace resolution operator (::) to disambiguate variables that have the same name. 네임스페이스 확인 연산자를 사용하면 해당 네임스페이스로 변수를 정규화하여 동일한 이름을 가진 여러 개의 변수를 한 패키지에서 사용할 수 있습니다.By using the namespace resolution operator, you can qualify the variable with its namespace, which makes it possible to use multiple variables with the same name in a package.

캐스트 연산자Cast Operator

캐스트 연산자는 식 결과, 열 값, 변수 값 및 상수를 다른 데이터 형식으로 변환합니다.The cast operator converts expression results, column values, variable values, and constants from one data type to another. 식 언어에서 제공하는 캐스트 연산자는 C 언어와 C# 언어에서 제공하는 것과 유사합니다.The cast operator provided by the expression language is similar to the one provided by the C and C# languages. Transact-SQL에서는 CAST 함수와 CONVERT 함수가 이 기능을 제공합니다.In Transact-SQL, the CAST and CONVERT functions provide this functionality. 캐스트 연산자 구문과 CAST 및 CONVERT에 사용되는 구문의 차이점은 다음과 같습니다.The syntax of the cast operator is different from ones used by CAST and CONVERT in the following ways:

  • 캐스트 연산자는 식을 인수로 사용할 수 있습니다.It can use an expression as an argument.

  • 캐스트 연산자 구문에는 CAST 키워드가 포함되지 않습니다.Its syntax does not include the CAST keyword.

  • 캐스트 연산자 구문에는 AS 키워드가 포함되지 않습니다.Its syntax does not include the AS keyword.

조건부 연산자Conditional Operator

조건부 연산자는 부울 식의 계산에 따라 두 식 중 하나를 반환합니다.The conditional operator returns one of two expressions, based on the evaluation of a Boolean expression. 식 언어에서 제공하는 조건부 연산자는 C 언어와 C# 언어에서 제공하는 것과 유사합니다.The conditional operator provided by the expression language is similar to the one provided by the C and C# languages. MDX(Multidimensional Expressions)에서는 IIF 함수가 이와 유사한 기능을 제공합니다.In multidimensional expressions (MDX), the IIF function provides similar functionality.

논리 연산자Logical Operators

식 언어는 논리적 NOT 연산자를 나타내는 !The expression language supports the ! 문자를 지원합니다.character for the logical NOT operator. Transact-SQL에서는 !In Transact-SQL, the ! 연산자가 관계형 연산자 집합에 포함되어 있습니다.operator is built into the set of relational operators. 예를 들어 Transact-SQL은 > 및 !> 연산자를 제공합니다.For example, Transact-SQL provides the > and the !> operators. SSISSSIS 식 언어는 !The SSISSSIS expression language does not support the combination of the ! 연산자와 다른 연산자의 조합을 지원하지 않습니다.operator and other operators. 예를 들어 !For example, it is not valid to combine ! 연산자와 > 연산자를 !> 연산자로 결합할 수 없습니다.and > into !>. 그러나 식 언어는 같지 않음 비교를 나타내는 != 문자 조합을 기본적으로 지원합니다.However, the expression language does support a built-in != combination of characters for the not-equal-to comparison.

등가 연산자Equality Operators

식 계산기 문법에서는 == 등가 연산자를 제공합니다.The expression evaluator grammar provides the == equality operator. 이 연산자는 Transact-SQL의 = 연산자 및 C#의 == 연산자에 해당합니다.This operator is the equivalent of the = operator in Transact-SQL and the == operator in C#.

함수Functions

식 언어에는 Transact-SQL 함수 및 C# 메서드와 유사한 날짜 및 시간 함수, 수치 연산 함수 및 문자열 함수가 포함되어 있습니다.The expression language includes date and time functions, mathematical functions, and string functions that are similar to Transact-SQL functions and C# methods.

몇몇 함수는 Transact-SQL 함수와 이름이 같지만 식 계산기에서 조금 다른 기능을 수행합니다.A few functions have the same names as Transact-SQL functions, but have subtly different functionality in the expression evaluator.

  • Transact-SQL의 ISNULL 함수는 Null 값을 지정한 값으로 바꾸는 반면 식 계산기의 ISNULL 함수는 식의 Null 여부에 따라 부울을 반환합니다.In Transact-SQL, the ISNULL function replaces null values with a specified value, whereas the expression evaluator ISNULL function returns a Boolean based on whether an expression is null.

  • Transact-SQL의 ROUND 함수에는 결과 집합을 자르는 옵션이 있지만 식 계산기의 ROUND 함수에는 이 옵션이 없습니다.In Transact-SQL, the ROUND function includes an option to truncate the result set, whereas the expression evaluator ROUND function does not.

    자세한 내용은 함수(SSIS 식)를 참조하세요.For more information, see Functions (SSIS Expression).

데이터 흐름 구성 요소에서 식 사용Use an Expression in a Data Flow Component