Синтаксис (службы SSIS)
Синтаксис выражений служб Службы 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).
Связанные задачи
Использование выражения в компоненте потока данных
См. также
Техническая статья Памятка выражений служб SSIS на сайте pragmaticworks.com
Техническая статья Примеры выражений служб SSIS на сайте social.technet.microsoft.com
|