Compartir a través de


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.

Conversiones válidas y no válidas entre tipos de datos

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

Otros recursos

Operadores (SSIS)

Ayuda e información

Obtener ayuda sobre SQL Server 2005