Синтаксис (SSIS)

Область применения:SQL Server среда выполнения интеграции SSIS в Фабрика данных Azure

Синтаксис выражений служб Integration Services аналогичен синтаксису, используемому языками C и C#. Выражения содержат элементы, такие как идентификаторы (столбцы и переменные), литералы, операторы и функции. В этом разделе обобщаются особые требования синтаксиса средства оценки выражений с точки зрения различных элементов выражений.

Примечание.

В предыдущих версиях Integration Services действовало ограничение в 4000 символов на результат вычисления выражения, если результат имел тип данных Integration Services DT_WSTR или DT_STR. Это ограничение снято.

Образцы выражений, использующих специальные операторы и функции, см. в разделах, посвященных соответствующим операторам и функциям: Операторы (выражение служб SSIS) и Функции (выражение служб SSIS).

Образцы выражений, использующих несколько операторов и функций так же, как идентификаторы и литералы, см. в разделе Примеры расширенных выражений служб Integration Services.

Образец использования выражений свойств см. в разделе Использование выражений свойств в пакетах.

Идентификаторы

Выражения могут содержать идентификаторы столбцов и переменных. Столбцы могут поступать из источника данных или создаваться в результате преобразований в потоке данных. В выражениях можно использовать идентификаторы происхождения для ссылки на столбцы. Идентификаторы происхождения — это числа, однозначно идентифицирующие элементы пакета. Идентификаторы происхождения, на которые есть ссылка в выражении, должны включать префикс решетки (#). Например, идентификатор происхождения 138 указывается в виде #138.

Выражения могут включать системные переменные, которые предоставляют службы SSIS и пользовательские переменные. Префиксы переменных, на которые ссылается выражение, должны содержать знак @. Например, ссылкой на переменную Counter будет являться выражение @Counter. Символ @ не является частью имени переменной; он только указывает средству оценки выражений на то, что идентификатор является переменной. Дополнительные сведения см. в разделе Идентификаторы (SSIS).

Литералы

Выражения могут содержать числовые, строковые и логические литералы. Строковые литералы, использующиеся в выражениях, должны быть заключены в кавычки. Числовые и логические литералы не заключаются в кавычки. В языке выражений содержатся управляющие последовательности для часто используемых символов. Дополнительные сведения см. в разделе Литералы (SSIS).

Операторы

Средство оценки выражений предоставляет набор операторов, обеспечивающий функциональность, аналогичную набору операторов в таких языках, как Transact-SQL, C++ и C#. Однако язык выражений содержит дополнительные операторы и может использовать незнакомые символы. Дополнительные сведения см. в статье Операторы (выражение SSIS).

Оператор разрешения пространства имён

Выражения используют оператор разрешения пространства имен (::), чтобы разрешать неоднозначность переменных, имеющих одинаковые имена. Оператор разрешения пространства имен позволяет определять переменную ее пространством имен, что делает возможным использование в пакете нескольких переменных с одинаковыми именами.

Оператор приведения

Оператор приведения преобразует результаты выражения, значения столбцов, значения переменных и константы из одного типа данных в другой. Оператор приведения типов, поддерживаемый языком выражений, аналогичен оператору приведения типов в языках C и C#. В языке Transact-SQL эту функциональность обеспечивают функции CAST и CONVERT. Синтаксис оператора приведения отличается от синтаксиса, используемого в CAST и CONVERT, в следующем:

  • В качестве аргумента может использоваться выражение.

  • Его синтаксис не включает ключевое слово CAST.

  • В его синтаксисе не используется ключевое слово AS.

Условный оператор

Условный оператор возвращает одно из двух выражений в зависимости от результата вычисления логического выражения. Условный оператор языка выражений аналогичен условному оператору языков C и C#. Аналогичная функциональность в многомерных выражениях (MDX) обеспечивается функцией IIF.

Логические операторы

Язык выражений поддерживает символ ! символ для оператора логического НЕ. В языке Transact-SQL ! встроен в набор реляционных операторов. Например, язык Transact-SQL предоставляет операторы > и !>. Язык выражений SSIS не поддерживает комбинацию ! оператор и другие операторы. Например, недопустимо сочетать ! и > в !>. Однако язык выражений поддерживает встроенную комбинацию символов != для сравнения на неравенство.

Операторы равенства

Грамматика средства оценки выражений содержит оператор сравнения ==. Этот оператор аналогичен оператору = языка Transact-SQL и оператору == языка C#.

Функции

Язык выражений содержит функции даты и времени, математические и строковые функции, аналогичные функциям языка Transact-SQL и методам языка C#.

Некоторые функции имеют такие же имена, что и функции языка Transact-SQL, но их функциональность в средстве оценки выражений отличается.

  • В языке Transact-SQL функция ISNULL заменяет значения NULL указанным значением, тогда как в обработчике выражений функция ISNULL возвращает логическое значение в зависимости от того, является ли выражение значением NULL.

  • В языке Transact-SQL функция ROUND содержит параметр усечения результирующего набора, тогда как аналогичная функция средства оценки выражений такого параметра не содержит.

Дополнительные сведения см. в разделе Функции (выражение SSIS).

Использование выражения в компоненте потока данных