Cast (expressão SSIS)
se aplica a:SQL Server SSIS Integration Runtime no Azure Data Factory
Converte explicitamente uma expressão de um tipo de dados para um tipo de dados diferente. O operador de molde também pode funcionar como um operador de truncamento.
Sintaxe
(type_spec) expression
Argumentos
type_spec
É um tipo de dados SSIS válido.
expressão
É uma expressão válida.
Tipos de resultados
O tipo de dados de type_spec. Para obter mais informações, consulte Tipos de dados do Integration Services.
Comentários
O diagrama a seguir mostra as operações de conversão legal.
A conversão para alguns tipos de dados requer parâmetros. A tabela a seguir lista esses tipos de dados e seus parâmetros.
Tipo de dados | Parâmetro | Exemplo |
---|---|---|
DT_STR |
Contagem de caracteres página de código |
(DT_STR,30,1252) converte 30 bytes, ou 30 caracteres únicos, para o tipo de dados DT_STR usando a página de código 1252. |
DT_WSTR | Charcount | (DT_WSTR,20) converte pares de 20 bytes, ou 20 caracteres Unicode, para o tipo de dados DT_WSTR. |
DT_BYTES | Contagem de Bytes | (DT_BYTES,50) converte 50 bytes para o tipo de dados DT_BYTES. |
DT_DECIMAL | Escala | (DT_DECIMAL,2) converte um valor numérico para o tipo de dados DT_DECIMAL usando uma escala de 2. |
DT_NUMERIC |
de precisão Escala |
(DT_NUMERIC,10,3) projeta um valor numérico para o tipo de dados DT_NUMERIC usando uma precisão de 10 e uma escala de 3. |
DT_TEXT | Página de código | (DT_TEXT,1252) converte um valor para o tipo de dados DT_TEXT usando a página de código 1252. |
Quando uma cadeia de caracteres é convertida em um DT_DATE, ou vice-versa, a localidade da transformação é usada. No entanto, a data está no formato ISO de AAAA-MM-DD, independentemente de a preferência de localidade usar o formato ISO.
Observação
Para converter uma cadeia de caracteres num tipo de dados de data diferente de DT_DATE, consulte Tipos de Dados dos Serviços de Integração.
Se a página de código for uma página de código de caracteres multibyte, o número de bytes e caracteres pode diferir. A conversão de um DT_WSTR para um DT_STR com o mesmo valor de contagem de caracteres pode causar truncamento dos caracteres finais na string convertida. Se houver armazenamento suficiente disponível na coluna da tabela de destino, defina o valor do parâmetro charcount para refletir o número de bytes que a página de código multibyte exige. Por exemplo, se você converter dados de caracteres para um tipo de dados DT_STR usando a página de código 936, deverá definir charcount para um valor até duas vezes maior do que o número de caracteres que você espera que os dados contenham; se você transmitir dados de caracteres usando a página de código UTF-8, deverá definir charcount para um valor até quatro vezes maior.
Para obter mais informações sobre a estrutura dos tipos de dados relacionados à data, consulte Integration Services Data Types.
Exemplos de expressões SSIS
Este exemplo converte um valor numérico em um inteiro.
(DT_I4) 3.57
Este exemplo converte um inteiro em uma cadeia de caracteres usando a página de código 1252.
(DT_STR,1,1252)5
Este exemplo converte uma cadeia de caracteres de três caracteres em caracteres de byte duplo.
(DT_WSTR,3)"Cat"
Este exemplo converte um inteiro em um decimal com uma escala de dois.
(DT_DECIMAl,2)500
Este exemplo converte um inteiro em um numérico com precisão de sete e escala de três.
(DT_NUMERIC,7,3)4000
Este exemplo converte valores na coluna FirstName, definida com um tipo de dados nvarchar e um comprimento de 50, em uma cadeia de caracteres usando a página de código 1252.
(DT_STR,50,1252)FirstName
Este exemplo converte valores na coluna DateFirstPurchase do tipo DT_DBDATE para uma cadeia de caracteres Unicode com um comprimento de 20.
(DT_WSTR,20)DateFirstPurchase
Este exemplo converte a cadeia de caracteres literal "True" para um booleano.
(DT_BOOL)"True"
Este exemplo converte um literal de cadeia de caracteres para DT_DBDATE.
(DT_DBDATE) "1999-10-11"
Este exemplo converte uma cadeia de caracteres literal para o tipo de dados DT_DBTIME2 que usa 5 dígitos por segundos fracionários. (O tipo de dados DT_DBTIME2 pode ter entre 0 e 7 dígitos especificados para segundos fracionários.)
(DT_DBTIME2, 5) "16:34:52.12345"
Este exemplo converte uma cadeia de caracteres literal para o tipo de dados DT_DBTIMESTAMP2, que usa 4 dígitos para os segundos fracionários. (O tipo de dados DT_DBTIMESTAMP2 pode ter entre 0 e 7 dígitos especificados para segundos fracionários.)
(DT_DBTIMESTAMP2, 4) "1999-10-11 16:34:52.1234"
Este exemplo converte uma cadeia de caracteres literal para o tipo de dados DT_DBTIMESTAMPOFFSET que usa 7 dígitos por segundos fracionários. (O tipo de dados DT_DBTIMESTAMPOFFSET pode ter entre 0 e 7 dígitos especificados para segundos fracionários.)
(DT_DBTIMESTAMPOFFSET, 7) "1999-10-11 16:34:52.1234567 + 5:35"
Ver também
Precedência e Associatividade do Operador
Operadores (Expressão SSIS)
Expressões de SSIS (Integration Services)
Tipos de Dados do Serviços de Integração em Expressões