Sdílet prostřednictvím


Syntaxe (SSIS)

platí pro:SQL Server SSIS Integration Runtime ve službě Azure Data Factory

Syntaxe výrazů integračních služeb se podobá syntaxi, kterou používají jazyky C a C#. Výrazy zahrnují prvky, jako jsou identifikátory (sloupce a proměnné), literály, operátory a funkce. Toto téma shrnuje jedinečné požadavky syntaxe vyhodnocovače výrazů, protože se vztahují na různé prvky výrazu.

Poznámka:

V předchozích verzích integračních služeb došlo u výsledku vyhodnocení výrazu k omezení 4000 znaků, pokud měl výsledek datový typ Integrační služby DT_WSTR nebo DT_STR. Tento limit byl odebrán.

Ukázkové výrazy, které používají konkrétní operátory a funkce, najdete v tématu o jednotlivých operátorech a funkcích v tématech: Operators (SSIS Expression) a Functions (SSIS Expression).

Ukázkové výrazy, které používají více operátorů a funkcí a identifikátory a literály, najdete v tématu Příklady výrazů služby Advanced Integration Services.

Ukázkové výrazy, které se mají použít ve výrazech vlastností, naleznete v tématu Použití výrazů vlastností v balíčcích.

Identifiers

Výrazy můžou obsahovat identifikátory sloupců a proměnných. Sloupce můžou pocházet ze zdroje dat nebo je můžou vytvářet transformacemi v toku dat. Výrazy můžou používat identifikátory rodokmenu k odkazování na sloupce. Identifikátory rodokmenu jsou čísla, která jednoznačně identifikují prvky balíčku. Identifikátory rodokmenu, na které odkazuje výraz, musí obsahovat předponu libry (#). Například na identifikátor rodokmenu 138 se odkazuje pomocí #138.

Výrazy mohou zahrnovat systémové proměnné, které služba SSIS poskytuje, a vlastní proměnné. Proměnné musí ve výrazu začínat předponou @, když jsou odkazovány. Na proměnnou Counter se například odkazuje pomocí @Counter. Znak @ není součástí názvu proměnné; označuje pouze vyhodnocovače výrazu, že identifikátor je proměnná. Další informace najdete v tématu Identifikátory (SSIS).

Literals

Výrazy můžou obsahovat číselné, řetězcové a logické literály. Řetězcové literály použité ve výrazech musí být uzavřeny do uvozovek. Číselné a logické literály nepoužívají uvozovky. Jazyk výrazů zahrnuje escape sekvence pro znaky, které se často escapují. Další informace naleznete v tématu Literály (SSIS).

Operátoři

Vyhodnocovače výrazů poskytuje sadu operátorů, které poskytují funkce podobné sadě operátorů v jazycích, jako jsou Transact-SQL, C++ a C#. Jazyk výrazů ale obsahuje další operátory a používá jiné symboly než ty, které znáte. Další informace naleznete v tématu Operátory (výraz SSIS).

Operátor pro rozlišení jmenného prostoru

Výrazy používají operátor řešení oboru názvů (::) pro objasnění proměnných se stejným názvem. Pomocí operátoru pro řešení jmenného prostoru můžete kvalifikovat proměnnou s jejím jmenným prostorem, což umožňuje použít více proměnných se stejným názvem v rámci balíčku.

Operátor přetypování

Operátor přetypování převede výsledky výrazů, hodnoty sloupců, hodnoty proměnných a konstanty z jednoho datového typu na jiný. Operátor přetypování poskytovaný výrazovým jazykem je podobný tomu, který poskytují jazyky C a C#. V transact-SQL poskytují funkce CAST a CONVERT tuto funkci. Syntaxe operátoru přetypování se liší od operátorů CAST a CONVERT následujícími způsoby:

  • Může použít výraz jako argument.

  • Jeho syntaxe neobsahuje klíčové slovo CAST.

  • Jeho syntaxe neobsahuje klíčové slovo AS.

Podmíněný operátor

Podmíněný operátor vrátí jeden ze dvou výrazů na základě vyhodnocení logického výrazu. Podmíněný operátor poskytovaný jazykem výrazů se podobá operátoru poskytovanému jazyky C a C#. V multidimenzionálních výrazech (MDX) funkce IIF poskytuje podobné funkce.

Logické operátory

Jazyk výrazu podporuje ! znak logického operátoru NOT. V Transact-SQL, ! operátor je integrovaný do sady relačních operátorů. Například Transact-SQL poskytuje operátory > !> . Jazyk výrazů SSIS nepodporuje kombinaci znaku !. operátor a další operátoři. Například není platné kombinovat ! a > do !>. Jazyk výrazů však podporuje předdefinované != kombinaci znaků pro porovnání, které se nerovnají.

Operátory rovnosti

Gramatika vyhodnocovače výrazů poskytuje operátor rovnosti ==. Tento operátor je ekvivalentem operátoru = v Transact-SQL a operátoru == v jazyce C#.

Functions

Jazyk výrazů zahrnuje funkce data a času, matematické funkce a řetězcové funkce, které se podobají funkcím Transact-SQL a metodám jazyka C#.

Několik funkcí má stejné názvy jako funkce Transact-SQL, ale ve vyhodnocovači výrazů mají mírně odlišnou funkčnost.

  • V transact-SQL funkce ISNULL nahrazuje hodnoty null za zadanou hodnotu, zatímco funkce vyhodnocovače výrazů ISNULL vrátí logickou hodnotu na základě toho, zda je výraz null.

  • V jazyce Transact-SQL obsahuje funkce ROUND možnost oříznutí výsledkové sady, zatímco funkce ROUND ve vyhodnocovači výrazů tuto možnost neobsahuje.

Další informace najdete v tématu Funkce (výraz SSIS).

Použití výrazu v komponentě toku dat