Conversión de tipos (SSIS)
Convierte explícitamente una expresión de un tipo de datos a otro. El operador de conversión también puede funcionar como un operador de truncamiento.
Sintaxis
(type_spec) expression
Argumentos
type_spec
Tipo de datos de SSIS válido.
expression
Expresión válida.
Tipos de resultado
El tipo de datos de type_spec. Para obtener más información, vea Tipos de datos de Integration Services.
Notas
El siguiente diagrama muestra operaciones de conversión válidas.
La conversión a algunos tipos de datos requiere parámetros. En la tabla siguiente se muestran estos tipos de datos y sus parámetros.
Tipo de datos | Parámetros | Ejemplo |
---|---|---|
DT_STR |
charcount codepage |
(DT_STR,30,1252) convierte 30 bytes, o 30 caracteres individuales, al tipo de datos DT_STR con la página de códigos 1252. |
DT_WSTR |
Charcount |
(DT_WSTR,20) convierte 20 pares de bytes, o 20 caracteres Unicode, al tipo de datos DT_WSTR. |
DT_BYTES |
Bytecount |
(DT_BYTES,50) convierte 50 bytes al tipo de datos DT_BYTES. |
DT_DECIMAL |
Scale |
(DT_DECIMAL,2) convierte un valor numérico al tipo de datos DT_DECIMAL con una escala de 2. |
DT_NUMERIC |
Precision Scale |
(DT_NUMERIC,10,3) convierte un valor numérico al tipo de datos DT_NUMERIC con una precisión de 10 decimales y una escala de 3. |
DT_TEXT |
Codepage |
(DT_TEXT,1252) convierte un valor al tipo de datos DT_TEXT con la página de códigos 1252. |
Las fechas requieren una consideración especial al usar el operador de conversión.
Cuando se convierte una cadena al tipo de datos DT_DATE, o viceversa, se usa la configuración regional de la transformación.
[!NOTA] La fecha tiene el formato ISO YYYY-MM-DD, aunque la preferencia de configuración regional puede tener un formato diferente.
La conversión de una cadena a un tipo de datos de fecha distinto de DT_DATE produce los siguientes resultados.
Tipo de datos Formato de fecha DT_DBDATE
yyyy-mm-dd
DT_FILETIME
yyyy-mm-dd hh:mm:ss:fff
DT_DBTIME
hh:mm:ss
DT_DBTIMESTAMP
yyyy-mm-dd hh:mm:ss:fffffffff
En el formato de fecha para DT_FILETIME, fff es un valor entre 0 y 999. El formato es igual al tipo de datos SYSTEMTIME de Windows.
En el formato de fecha para DT_DBTIMESTAMP, fffffffff es un valor entre 0 y 999999999.
Si la página de códigos es una página de códigos de caracteres multibyte, el número de bytes y caracteres puede diferir. La conversión de DT_WSTR a DT_STR con el mismo valor de charcount puede provocar el truncamiento de los caracteres finales de la cadena convertida. Si hay suficiente espacio de almacenamiento en la columna de la tabla de destino, establezca el valor del parámetro charcount de modo que refleje el número de bytes requeridos por la página de códigos multibyte. Por ejemplo, si convierte datos de caracteres a un tipo de datos DT_STR con la página de códigos 936, debe establecer el valor de charcount en un valor hasta dos veces mayor que el número de caracteres que espera que contengan los datos; si convierte datos de caracteres mediante la página de códigos UTF-8, debe establecer charcount en un valor hasta cuatro veces mayor.
Ejemplos
Este ejemplo convierte un valor numérico en un entero.
(DT_I4) 3.57
Este ejemplo convierte un entero en una cadena de caracteres con la página de códigos 1252.
(DT_STR,1,1252)5
Este ejemplo convierte una cadena de tres caracteres en caracteres de doble byte.
(DT_WSTR,3)"Cat"
Este ejemplo convierte un entero en un decimal con una escala de dos.
(DT_DECIMAl,2)500
Este ejemplo convierte un entero en un valor numérico con una precisión de siete y una escala de tres.
(DT_NUMERIC,7,3)4000
Este ejemplo convierte los valores de la columna FirstName, definida con un tipo de datos nvarchar y una longitud de 50, en una cadena de caracteres con la página de códigos 1252.
(DT_STR,50,1252)FirstName
Este ejemplo convierte el literal de cadena "True" en un valor booleano.
(DT_BOOL)"True"
Vea también
Conceptos
Precedencia y capacidad de asociación de operadores