Поделиться через


Синтаксис (службы SSIS)

Применяется к:sql Server SSIS Integration Runtime в Фабрика данных Azure

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

Примечание.

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

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

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

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

Identifiers

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

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

Литералы

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

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