Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:SQL Server
SSIS Integration Runtime em Azure Data Factory
As expressões podem incluir números numéricos, de cadeia e literais booleanos. O avaliador de expressões suporta vários literais numéricos, como inteiros, decimais e constantes de ponto flutuante. O avaliador de expressões também suporta os sufixos long e float, que especificam como o avaliador de expressões lida com os valores, e a notação científica em literais numéricos.
Literais numéricos
O avaliador de expressões suporta tipos de dados numéricos inteiros e não integrais. Também suporta identificadores de linhagem (os identificadores numéricos únicos para elementos do pacote). Os identificadores de linhagem são números, mas não podem ser usados em operações matemáticas.
O avaliador de expressões suporta sufixos, que pode usar para indicar como o avaliador de expressões trata o literal numérico. Por exemplo, pode indicar que o inteiro 37 é tratado como um tipo de dado inteiro longo escrevendo 37L ou 37l.
A tabela seguinte lista sufixos para literais numéricos.
| Sufixo | Description |
|---|---|
| L ou l | Um literal numérico longo. |
| U ou u | Um literal numérico sem sinal. |
| E ou e | O expoente na notação científica |
A tabela seguinte lista elementos de expressões numéricas e as suas expressões regulares.
| Elemento de expressão | Expressão regular | Description |
|---|---|---|
| Dígitos representados como D. | [0-9] | Qualquer dígito. |
| Notação científica expressa como E. | [Ee][+-]? {D}+ | E maiúlico ou minúsculo, opcionalmente + ou -, e um ou mais dígitos definidos em D. |
| Sufixo inteiro expresso como IS. | (([lL]?[uU]?)|([uU]?[lL]?)) | Opcionalmente, letra maiúscula ou minúscula 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. |
| O sufixo float é expresso como FS. | ([f|F]|[l|L]) | Maiúscula ou minúscula f ou l. F ou f indica um valor flutuante (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 seguinte descreve literais numéricos válidos usando a linguagem de expressões regulares.
| Expressão regular | Description |
|---|---|
| {D}+{IS} | Um literal numérico integral com pelo menos um dígito (D) e, opcionalmente, o sufixo longo e/ou sem sinal (IS). Exemplos: 457, 785u, 986L e 7945ul. |
| {D}+{E}{FS} | Um literal numérico não integral 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 um ponto decimal, uma parte decimal com pelo menos um dígito (D), um expoente opcional (E) e um flutuante ou um longo (FS). Este literal numérico tem o tipo de dado 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), uma casa decimal, um expoente (E) e um identificador de ponto flutuante ou um identificador longo (FS). Este literal numérico tem o tipo de dado DT_R4 ou DT_R8. Exemplos: 1.E-4f, 4.6E6L e 8.365E+2f. |
| {D}*. {D}+ | Um literal numérico não inteiro com precisão e escala. Tem 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: 0,9, 5,8 e 0,346. |
| {D}+.{D}* | Um literal numérico não inteiro com precisão e escala. Tem pelo menos um dígito significativo (D) e uma casa decimal. Este literal numérico tem o tipo de dado DT_NUMERIC. Exemplos: 6., 0.2 e 8.0. |
| #{D}+ | Um identificador de linhagem. Consiste no símbolo cerquilha (#) e em 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úlico ou minúsculo, pelo menos um H maiúsculo e, opcionalmente, o sufixo sem sinal. Exemplos: 0xFF0A e 0X000010000U. |
Para mais informações sobre os tipos de dados utilizados pelo avaliador de expressões, consulte Tipos de Dados de Serviços de Integração.
As expressões podem incluir literais numéricos com diferentes tipos de dados. Quando o avaliador de expressões avalia estas expressões, converte os dados para tipos compatíveis. Para mais informações, consulte Tipos de Dados de Serviços de Integração em Expressões.
No entanto, a conversão entre alguns tipos de dados requer um cast explícito. O avaliador de expressões fornece o operador cast para realizar conversão explícita de tipos de dados. Para mais informações, veja Cast (SSIS Expression).
Mapear literais numéricos para tipos de dados de serviços de integração
O avaliador de expressões realiza as seguintes conversões ao avaliar literais numéricos:
Um literal numérico inteiro é mapeado para um tipo de dado inteiro da seguinte forma.
Sufixo Tipo de resultado Nenhum DT_I4 U DT_UI4 L DT_I8 UL DT_UI8 Importante
Se o sufixo longo (L ou l) 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 é convertido para o tipo de dado DT_R4 ou DT_R8. Se a expressão incluir o sufixo longo, é convertida em DT_R8; se incluir o sufixo float, é convertido para o tipo de dado DT_R4.
Se um literal numérico não inteiro incluir F ou f, ele corresponde ao DT_R4 tipo de dado. Se incluir L ou l e o número for um inteiro, corresponde ao DT_I8 tipo de dato. Se for um número real, ele corresponde ao DT_R8 tipo de dado. Se incluir o sufixo longo, é convertido para o tipo de dados DT_R8.
Um literal numérico não integral com precisão e escala corresponde ao tipo de dado DT_NUMERIC.
Literais de String
Os literais da cadeia de caracteres devem estar incluídos entre aspas. A linguagem de expressões fornece um conjunto de sequências de escape para caracteres comuns, como caracteres não impressos e aspas.
Uma string literal consiste em zero ou mais caracteres rodeados por aspas. Se uma string contiver aspas, estas devem ser escapadas para que a expressão possa ser analisada. Qualquer carácter de dois bytes, exceto \x0000, é permitido numa cadeia, porque o carácter \x0000 é o terminador nulo de uma cadeia.
As cadeias podem incluir outros caracteres que requerem uma sequência de escape. A tabela seguinte lista sequências de escape para literais de cadeia.
| Sequência de fuga | Description |
|---|---|
\a |
Alert |
\b |
Tecla de Retrocesso |
\f |
Avanço de formulário |
\n |
Nova linha |
\r |
Retorno de carro |
\t |
Tabulação horizontal |
\v |
Tabulação vertical |
\" |
Aspas |
\ |
Barra invertida |
\xhhhh |
Carácter Unicode em notação hexadecimal |
Literais Booleanos
O avaliador de expressões suporta os literais booleanos habituais: Verdadeiro e Falso. O avaliador de expressões não é sensível a maiúsculas minúsculas e qualquer combinação de letras maiúsculas e minúsculas é permitida. Por exemplo, TRUE funciona tão bem quanto True.
Observação
Numa expressão, um literal booleano deve ser delimitado por espaços.