Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
SSIS Integration Runtime no Azure Data Factory
Expressões podem incluir literais numéricos, de cadeia de caracteres e booleanos. O avaliador de expressões oferece suporte a vários literais numéricos, como inteiros, decimais e constantes de ponto flutuante. O avaliador de expressão também dá suporte a sufixos longos e flutuantes, que especificam como o avaliador de expressão trata os valores, e uma notação científica em literais numéricos.
Literais numéricos
O avaliador de expressões oferece suporte a tipos de dados numéricos integrais e não integrais. Também suporta identificadores de linhagem, que são os identificadores numéricos únicos para elementos de pacotes. Identificadores de linhagem são números, mas você não pode usá-los em operações matemáticas.
O avaliador de expressão aceita sufixos que você pode usar para indicar como o avaliador de expressão trata o literal numérico. Por exemplo, você pode indicar que o inteiro 37 é tratado como um tipo de dado inteiro longo escrevendo 37L ou 37l.
A tabela a seguir lista sufixos para literais numéricos.
| Sufixo | Descrição |
|---|---|
L ou l |
Um literal numérico longo. |
U ou u |
Um literal numérico sem sinal. |
E ou e |
O expoente em notação científica |
A tabela a seguir lista elementos de expressão numérica e suas expressões regulares.
| Elemento de expressão | Expressão regular | Descrição |
|---|---|---|
Dígitos expressos como D. |
[0-9] |
Qualquer dígito. |
Notação científica expressa como E. |
[Ee][+-]?{D}+ |
Maiúsculas ou minúsculas e, opcionalmente + ou -, e um ou mais dígitos conforme definido em D. |
Sufixo inteiro expresso como IS. |
(([lL]?[uU]?)|([uU]?[lL]?)) |
Opcionalmente, letras maiúsculas ou minúsculas u e l, ou uma combinação de u e l.
U ou u indica um valor sem sinal.
L ou l indica um valor longo. |
Sufixo flutuante expresso como FS. |
([f|F]|[l|L]) |
Em maiúsculas ou minúsculas f ou l.
F ou f indica um valor float (DT_R4 tipo de dado).
L ou l indica um valor longo (DT_R8 tipo de dado). |
Dígito hexadecimal expresso como H. |
[a-fA-F0-9] |
Qualquer dígito hexadecimal. |
A tabela a seguir descreve literais numéricos válidos que usam a linguagem de expressão regular.
| Expressão regular | Descrição |
|---|---|
{D}+{IS} |
Um literal numérico inteiro com pelo menos um dígito (D) e, opcionalmente, o sufixo longo e sem sinal (IS). Exemplos: 457, 785u, 986L, e 7945ul. |
{D}+{E}{FS} |
Um literal numérico não inteiro com pelo menos um dígito (D), notação científica e o sufixo longo ou flutuante. Exemplos: 4E8l, 13e-2f, e 5E+L. |
{D}*"."{D}+{E}?{FS} |
Um literal numérico não inteiro com ponto decimal, uma fração decimal com pelo menos um dígito (D), um expoente opcional (E) e um identificador float ou long (FS). Este literal numérico tem o tipo de dados DT_R4 ou DT_R8. Exemplos: 6.45E3f, .89E-2l, e 1.05E+7F. |
{D}+"."{D}*{E}?{FS} |
Um literal numérico não integral com pelo menos um dígito significativo (D), um separador decimal, um expoente (E) e um sufixo float ou long (FS). Este literal numérico tem o tipo de dados DT_R4 ou DT_R8. Exemplos: 1.E-4f, 4.6E6L, e 8.365E+2f. |
{D}*.{D}+ |
Um literal numérico não integral com precisão e escala. Possui uma casa decimal e uma fração decimal com pelo menos um dígito (D). Este literal numérico tem o tipo de dados DT_NUMERIC. Exemplos: .9, 5.8, e 0.346. |
{D}+.{D}* |
Um literal numérico não integral com precisão e escala. Possui pelo menos um dígito significativo (D) e uma casa decimal. Este literal numérico tem o tipo de dados DT_NUMERIC. Exemplos: 6., 0.2, e 8.0. |
#{D}+ |
Um identificador de linhagem. É composto pelo caractere libra (#) e por pelo menos um dígito (D). Exemplos: #123. |
0[xX]{H}+{uU} |
Um literal numérico em formato hexadecimal. Inclui um zero, um x maiúsculo ou minúsculo, pelo menos um H maiúsculo e, opcionalmente, o sufixo sem sinal. Exemplos: 0xFF0A e 0X000010000U |
Para obter mais informações sobre os tipos de dados que o avaliador de expressão usa, consulte Tipos de Dados do Integration Services.
Expressões podem incluir literais numéricos com tipos de dados diferentes. Quando o avaliador de expressão avalia estas expressões, ele converte os dados em tipos compatíveis. Para obter mais informações, consulte Integration Services Data Types in Expressions.
Porém, conversão entre alguns tipos de dados requer uma conversão explícita. O avaliador de expressão fornece o operador cast para executar as conversão de tipo de dados explícita. Para obter mais informações, confira Cast (Expressão do SSIS).
Mapear literais numéricos para tipos de dados dos Serviços de Integração
O avaliador de expressões converte literais numéricos da seguinte forma:
Um literal numérico inteiro corresponde a um tipo de dado inteiro com base em seu sufixo:
Sufixo Tipo de resultado Nenhum DT_I4 UDT_UI4 LDT_I8 ULDT_UI8 Importante
Se o sufixo longo (
Loul) estiver ausente, o avaliador de expressões mapeia valores com sinal para o tipo de dado DT_I4 e valores sem sinal para o tipo de dado DT_UI4, mesmo que o valor exceda o tipo de dado.Um literal numérico que inclui um expoente converte para o tipo de dado DT_R4 ou DT_R8. Se a expressão incluir o sufixo longo, ela se converte em DT_R8. Se incluir o sufixo float, será convertido para o tipo de dados DT_R4.
Se um literal numérico não integral inclui
Fouf, ele corresponde ao tipo de dado DT_R4. Se incluirLoule o número for um inteiro, ele é mapeado para o tipo de dado DT_I8. Se for um número real, ele corresponde ao tipo de dado DT_R8. Se incluir o sufixo `long`, será convertido para o tipo de dados DT_R8.Um literal numérico não integral com precisão e escala corresponde ao tipo de dados DT_NUMERIC.
Literais de cadeia de caracteres
Inclua literais de string entre aspas. A linguagem de expressões fornece um conjunto de sequências de escape para caracteres comumente escapados, como caracteres não imprimíveis e aspas.
Um literal de string consiste em zero ou mais caracteres delimitados por aspas. Se uma string contiver aspas, use caractere de escape nelas para que a expressão seja analisada corretamente. Uma string pode conter qualquer caractere de dois bytes, exceto \x0000, porque o \x0000 caractere é o terminador nulo de uma string.
As cadeias de caracteres podem incluir outros caracteres que requerem uma sequência de escape. A tabela a seguir lista sequências de escape para literais de string.
| Sequência de escape | Descrição |
|---|---|
\a |
Alerta |
\b |
Backspace |
\f |
Avanço de formulário |
\n |
Nova linha |
\r |
Retorno do carro |
\t |
Guia horizontal |
\v |
Tabulação vertical |
\" |
Aspas |
\ |
Barra invertida |
\xhhhh |
Caractere Unicode em notação hexadecimal |
Literais booleanos
O avaliador de expressão aceita os literais boolianos habituais: True e False. O avaliador de expressões não diferencia letras maiúsculas de minúsculas e permite qualquer combinação de letras maiúsculas e minúsculas. Por exemplo, TRUE funciona tão bem quanto True.
Observação
Em uma expressão, você deve delimitar um literal booleano com espaços.